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 <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Ajit Khaparde 2011-04-06 05:53:13 +00:00 committed by David S. Miller
parent 1e58148670
commit 2d5d415465

View File

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