diff mbox

[net-next] rocker: gaurd against NULL rocker_port when removing ports

Message ID 1434168584-61990-1-git-send-email-sfeldma@gmail.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Scott Feldman June 13, 2015, 4:09 a.m. UTC
From: Scott Feldman <sfeldma@gmail.com>

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>
---
 drivers/net/ethernet/rocker/rocker.c |    2 ++
 1 file changed, 2 insertions(+)

Comments

Jiri Pirko June 13, 2015, 9:07 a.m. UTC | #1
Sat, Jun 13, 2015 at 06:09:44AM CEST, sfeldma@gmail.com wrote:
>From: Scott Feldman <sfeldma@gmail.com>
>
>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>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller June 15, 2015, 11:04 p.m. UTC | #2
From: sfeldma@gmail.com
Date: Fri, 12 Jun 2015 21:09:44 -0700

> From: Scott Feldman <sfeldma@gmail.com>
> 
> 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>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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);