+++ /dev/null
-Commit-Id: 74bf4ba3d367aacbc04fef167289767f162cd730
-From: Michael Chan <mchan@broadcom.com>
-Date: Thu, 9 Oct 2008 12:21:08 -0700
-Acked-by: Karsten Keil <kkeil@novell.com>
-Subject: [PATCH] bnx2: Add bnx2_shutdown_chip().
-Reference: bnc#440052
-
-This logic is used in bnx2_close() and bnx2_suspend() and
-so should be separated out into a separate function.
-
-Signed-off-by: Michael Chan <mchan@broadcom.com>
-Signed-off-by: Benjamin Li <benli@broadcom.com>
-Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-
----
- drivers/net/bnx2.c | 33 +++++++++++++++++----------------
- 1 file changed, 17 insertions(+), 16 deletions(-)
-
---- a/drivers/net/bnx2.c
-+++ b/drivers/net/bnx2.c
-@@ -5077,6 +5077,21 @@ bnx2_init_nic(struct bnx2 *bp, int reset
- }
-
- static int
-+bnx2_shutdown_chip(struct bnx2 *bp)
-+{
-+ u32 reset_code;
-+
-+ if (bp->flags & BNX2_FLAG_NO_WOL)
-+ reset_code = BNX2_DRV_MSG_CODE_UNLOAD_LNK_DN;
-+ else if (bp->wol)
-+ reset_code = BNX2_DRV_MSG_CODE_SUSPEND_WOL;
-+ else
-+ reset_code = BNX2_DRV_MSG_CODE_SUSPEND_NO_WOL;
-+
-+ return bnx2_reset_chip(bp, reset_code);
-+}
-+
-+static int
- bnx2_test_registers(struct bnx2 *bp)
- {
- int ret;
-@@ -6099,20 +6114,13 @@ static int
- bnx2_close(struct net_device *dev)
- {
- struct bnx2 *bp = netdev_priv(dev);
-- u32 reset_code;
-
- cancel_work_sync(&bp->reset_task);
-
- bnx2_disable_int_sync(bp);
- bnx2_napi_disable(bp);
- del_timer_sync(&bp->timer);
-- if (bp->flags & BNX2_FLAG_NO_WOL)
-- reset_code = BNX2_DRV_MSG_CODE_UNLOAD_LNK_DN;
-- else if (bp->wol)
-- reset_code = BNX2_DRV_MSG_CODE_SUSPEND_WOL;
-- else
-- reset_code = BNX2_DRV_MSG_CODE_SUSPEND_NO_WOL;
-- bnx2_reset_chip(bp, reset_code);
-+ bnx2_shutdown_chip(bp);
- bnx2_free_irq(bp);
- bnx2_free_skbs(bp);
- bnx2_free_mem(bp);
-@@ -7783,7 +7791,6 @@ bnx2_suspend(struct pci_dev *pdev, pm_me
- {
- struct net_device *dev = pci_get_drvdata(pdev);
- struct bnx2 *bp = netdev_priv(dev);
-- u32 reset_code;
-
- /* PCI register 4 needs to be saved whether netif_running() or not.
- * MSI address and data need to be saved if using MSI and
-@@ -7797,13 +7804,7 @@ bnx2_suspend(struct pci_dev *pdev, pm_me
- bnx2_netif_stop(bp);
- netif_device_detach(dev);
- del_timer_sync(&bp->timer);
-- if (bp->flags & BNX2_FLAG_NO_WOL)
-- reset_code = BNX2_DRV_MSG_CODE_UNLOAD_LNK_DN;
-- else if (bp->wol)
-- reset_code = BNX2_DRV_MSG_CODE_SUSPEND_WOL;
-- else
-- reset_code = BNX2_DRV_MSG_CODE_SUSPEND_NO_WOL;
-- bnx2_reset_chip(bp, reset_code);
-+ bnx2_shutdown_chip(bp);
- bnx2_free_skbs(bp);
- bnx2_set_power_state(bp, pci_choose_state(pdev, state));
- return 0;