Re: [PATCH net v5] net: systemport: Add error pointer checks in bcm_sysport_map_queues() and bcm_sysport_unmap_queues()
From: Simon Horman <horms@kernel.org>
Date: 2024-09-27 11:02:41
Also in:
lkml
+ Vladimir On Thu, Sep 26, 2024 at 04:05:12PM +0000, Dipendra Khadka wrote:
Add error pointer checks in bcm_sysport_map_queues() and
bcm_sysport_unmap_queues() after calling dsa_port_from_netdev().
Fixes: 1593cd40d785 ("net: systemport: use standard netdevice notifier to detect DSA presence")
Signed-off-by: Dipendra Khadka <redacted>Reviewed-by: Simon Horman <horms@kernel.org>
quoted hunk ↗ jump to hunk
--- v5: -Removed extra parentheses v4: https://lore.kernel.org/all/20240925152927.4579-1-kdipendra88@gmail.com/ (local) - Removed wrong and used correct Fixes: tag v3: https://lore.kernel.org/all/20240924185634.2358-1-kdipendra88@gmail.com/ (local) - Updated patch subject - Updated patch description - Added Fixes: tags - Fixed typo from PRT_ERR to PTR_ERR - Error is checked just after assignment v2: https://lore.kernel.org/all/20240923053900.1310-1-kdipendra88@gmail.com/ (local) - Change the subject of the patch to net v1: https://lore.kernel.org/all/20240922181739.50056-1-kdipendra88@gmail.com/ (local) drivers/net/ethernet/broadcom/bcmsysport.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)diff --git a/drivers/net/ethernet/broadcom/bcmsysport.c b/drivers/net/ethernet/broadcom/bcmsysport.c index c9faa8540859..a7ad829f11d4 100644 --- a/drivers/net/ethernet/broadcom/bcmsysport.c +++ b/drivers/net/ethernet/broadcom/bcmsysport.c@@ -2331,11 +2331,15 @@ static const struct net_device_ops bcm_sysport_netdev_ops = { static int bcm_sysport_map_queues(struct net_device *dev, struct net_device *slave_dev) { - struct dsa_port *dp = dsa_port_from_netdev(slave_dev); struct bcm_sysport_priv *priv = netdev_priv(dev); struct bcm_sysport_tx_ring *ring; unsigned int num_tx_queues; unsigned int q, qp, port; + struct dsa_port *dp; + + dp = dsa_port_from_netdev(slave_dev); + if (IS_ERR(dp)) + return PTR_ERR(dp); /* We can't be setting up queue inspection for non directly attached * switches@@ -2386,11 +2390,15 @@ static int bcm_sysport_map_queues(struct net_device *dev, static int bcm_sysport_unmap_queues(struct net_device *dev, struct net_device *slave_dev) { - struct dsa_port *dp = dsa_port_from_netdev(slave_dev); struct bcm_sysport_priv *priv = netdev_priv(dev); struct bcm_sysport_tx_ring *ring; unsigned int num_tx_queues; unsigned int q, qp, port; + struct dsa_port *dp; + + dp = dsa_port_from_netdev(slave_dev); + if (IS_ERR(dp)) + return PTR_ERR(dp); port = dp->index;-- 2.43.0