diff options
author | Yuval Mintz <yuvalmin@broadcom.com> | 2013-08-12 19:25:03 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-08-13 19:04:28 -0400 |
commit | 6ef5a92cdf5ee65578a287b9a030964b03a538ed (patch) | |
tree | f7d0be5404d61d13f26d76556e99b1e4fe0db538 | |
parent | a6d3a5ba3e0c4ed127976c52229d7a277da4d82c (diff) |
bnx2x: prevent crash in shutdown flow with CNIC
There might be a crash as during shutdown flow CNIC might try
to access resources already freed by bnx2x.
Change bnx2x_close() into dev_close() in __bnx2x_remove (shutdown flow)
to guarantee CNIC is notified of the device's change of status.
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c index 339c388e4a18..955d6cfd9cb7 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | |||
@@ -12838,8 +12838,7 @@ static void __bnx2x_remove(struct pci_dev *pdev, | |||
12838 | unregister_netdev(dev); | 12838 | unregister_netdev(dev); |
12839 | } else { | 12839 | } else { |
12840 | rtnl_lock(); | 12840 | rtnl_lock(); |
12841 | if (netif_running(dev)) | 12841 | dev_close(dev); |
12842 | bnx2x_close(dev); | ||
12843 | rtnl_unlock(); | 12842 | rtnl_unlock(); |
12844 | } | 12843 | } |
12845 | 12844 | ||