summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Feldman <sfeldma@gmail.com>2015-06-13 04:09:44 (GMT)
committerDavid S. Miller <davem@davemloft.net>2015-06-15 23:03:48 (GMT)
commita07203108494d00efdd8f2fcbf9f2f4f63110e60 (patch)
tree436cf4f6384181f77dfc54710617b30e1543df3d
parent9464ca650008615d28d9aaf7de99b4edf61f0109 (diff)
downloadlinux-a07203108494d00efdd8f2fcbf9f2f4f63110e60.tar.xz
rocker: gaurd against NULL rocker_port when removing ports
The ports array is filled in as ports are probed, but if probing doesn't finish, we need to stop only those ports that where probed successfully. Check the ports array for NULL to skip un-probed ports when stopping. Signed-off-by: Scott Feldman <sfeldma@gmail.com> Acked-by: Jiri Pirko <jiri@resnulli.us> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/rocker/rocker.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/rocker/rocker.c b/drivers/net/ethernet/rocker/rocker.c
index 819289e..c6a6e3c 100644
--- a/drivers/net/ethernet/rocker/rocker.c
+++ b/drivers/net/ethernet/rocker/rocker.c
@@ -4802,6 +4802,8 @@ static void rocker_remove_ports(const struct rocker *rocker)
for (i = 0; i < rocker->port_count; i++) {
rocker_port = rocker->ports[i];
+ if (!rocker_port)
+ continue;
rocker_port_ig_tbl(rocker_port, SWITCHDEV_TRANS_NONE,
ROCKER_OP_FLAG_REMOVE);
unregister_netdev(rocker_port->dev);