From: Ajit Khaparde Date: Wed, 6 Apr 2011 05:53:13 +0000 (+0000) Subject: be2net: Fix a potential crash during shutdown. X-Git-Tag: v2.6.39-rc3~6^2~11 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2d5d4154650459b61a8e7097d186a89d89dab8ed;p=platform%2Fkernel%2Flinux-exynos.git be2net: Fix a potential crash during shutdown. adapter could remain uninitialized if probe fails for some reason. A null pointer access could cause a crash if be_shutdown is called after that. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller --- diff --git a/drivers/net/benet/be_main.c b/drivers/net/benet/be_main.c index a71163f..6e8e211 100644 --- a/drivers/net/benet/be_main.c +++ b/drivers/net/benet/be_main.c @@ -3141,12 +3141,14 @@ static int be_resume(struct pci_dev *pdev) static void be_shutdown(struct pci_dev *pdev) { struct be_adapter *adapter = pci_get_drvdata(pdev); - struct net_device *netdev = adapter->netdev; - if (netif_running(netdev)) + if (!adapter) + return; + + if (netif_running(adapter->netdev)) cancel_delayed_work_sync(&adapter->work); - netif_device_detach(netdev); + netif_device_detach(adapter->netdev); be_cmd_reset_function(adapter);