Просмотр исходного кода

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>
Scott Feldman 10 лет назад
Родитель
Сommit
a072031084
1 измененных файлов с 2 добавлено и 0 удалено
  1. 2 0
      drivers/net/ethernet/rocker/rocker.c

+ 2 - 0
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);