qlge: bugfix: Move netif_napi_del() to common call point.
Moving netif_napi_del() up the call chain so it will get called from all exit points. Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
a7a655f22c
commit
6612a6344a
@@ -3163,6 +3163,11 @@ static int ql_adapter_down(struct ql_adapter *qdev)
|
|||||||
|
|
||||||
ql_tx_ring_clean(qdev);
|
ql_tx_ring_clean(qdev);
|
||||||
|
|
||||||
|
/* Call netif_napi_del() from common point.
|
||||||
|
*/
|
||||||
|
for (i = qdev->rss_ring_first_cq_id; i < qdev->rx_ring_count; i++)
|
||||||
|
netif_napi_del(&qdev->rx_ring[i].napi);
|
||||||
|
|
||||||
spin_lock(&qdev->hw_lock);
|
spin_lock(&qdev->hw_lock);
|
||||||
status = ql_adapter_reset(qdev);
|
status = ql_adapter_reset(qdev);
|
||||||
if (status)
|
if (status)
|
||||||
@@ -3867,7 +3872,7 @@ static int qlge_suspend(struct pci_dev *pdev, pm_message_t state)
|
|||||||
{
|
{
|
||||||
struct net_device *ndev = pci_get_drvdata(pdev);
|
struct net_device *ndev = pci_get_drvdata(pdev);
|
||||||
struct ql_adapter *qdev = netdev_priv(ndev);
|
struct ql_adapter *qdev = netdev_priv(ndev);
|
||||||
int err, i;
|
int err;
|
||||||
|
|
||||||
netif_device_detach(ndev);
|
netif_device_detach(ndev);
|
||||||
|
|
||||||
@@ -3877,9 +3882,6 @@ static int qlge_suspend(struct pci_dev *pdev, pm_message_t state)
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = qdev->rss_ring_first_cq_id; i < qdev->rx_ring_count; i++)
|
|
||||||
netif_napi_del(&qdev->rx_ring[i].napi);
|
|
||||||
|
|
||||||
err = pci_save_state(pdev);
|
err = pci_save_state(pdev);
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
|
Reference in New Issue
Block a user