From 4021be2723a03f203ade2ac4fc45b3fae8771014 Mon Sep 17 00:00:00 2001 From: Matt Carlson Date: Wed, 31 Aug 2011 11:44:51 +0000 Subject: [PATCH] --- yaml --- r: 265757 b: refs/heads/master c: 8d5a89b3da78fd4cb17b261bf9d3b016c2120cac h: refs/heads/master i: 265755: 51fe509b4fa6bf587fc03a506f003f87f686923c v: v3 --- [refs] | 2 +- trunk/drivers/net/ethernet/broadcom/tg3.c | 34 +++++++++++------------ 2 files changed, 17 insertions(+), 19 deletions(-) diff --git a/[refs] b/[refs] index 51ff69fb3ffa..e4b82014ad26 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5b39de9178ce792862a414255dc98c970ec25a88 +refs/heads/master: 8d5a89b3da78fd4cb17b261bf9d3b016c2120cac diff --git a/trunk/drivers/net/ethernet/broadcom/tg3.c b/trunk/drivers/net/ethernet/broadcom/tg3.c index d2f1ecb3f658..d1a71c8892a8 100644 --- a/trunk/drivers/net/ethernet/broadcom/tg3.c +++ b/trunk/drivers/net/ethernet/broadcom/tg3.c @@ -1396,6 +1396,22 @@ static void tg3_ump_link_report(struct tg3 *tp) tg3_generate_fw_event(tp); } +/* tp->lock is held. */ +static void tg3_stop_fw(struct tg3 *tp) +{ + if (tg3_flag(tp, ENABLE_ASF) && !tg3_flag(tp, ENABLE_APE)) { + /* Wait for RX cpu to ACK the previous event. */ + tg3_wait_for_event_ack(tp); + + tg3_write_mem(tp, NIC_SRAM_FW_CMD_MBOX, FWCMD_NICDRV_PAUSE_FW); + + tg3_generate_fw_event(tp); + + /* Wait for RX cpu to ACK this event. */ + tg3_wait_for_event_ack(tp); + } +} + static void tg3_link_report(struct tg3 *tp) { if (!netif_carrier_ok(tp->dev)) { @@ -7424,8 +7440,6 @@ static void tg3_restore_pci_state(struct tg3 *tp) } } -static void tg3_stop_fw(struct tg3 *); - /* tp->lock is held. */ static int tg3_chip_reset(struct tg3 *tp) { @@ -7672,22 +7686,6 @@ static int tg3_chip_reset(struct tg3 *tp) return 0; } -/* tp->lock is held. */ -static void tg3_stop_fw(struct tg3 *tp) -{ - if (tg3_flag(tp, ENABLE_ASF) && !tg3_flag(tp, ENABLE_APE)) { - /* Wait for RX cpu to ACK the previous event. */ - tg3_wait_for_event_ack(tp); - - tg3_write_mem(tp, NIC_SRAM_FW_CMD_MBOX, FWCMD_NICDRV_PAUSE_FW); - - tg3_generate_fw_event(tp); - - /* Wait for RX cpu to ACK this event. */ - tg3_wait_for_event_ack(tp); - } -} - /* tp->lock is held. */ static int tg3_halt(struct tg3 *tp, int kind, int silent) {