diff options
author | Michael Chan <mchan@broadcom.com> | 2005-05-05 17:42:41 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-05-05 17:42:41 -0400 |
commit | e6de8ad1fae8385eca4bf288e7a6ea2664ce0458 (patch) | |
tree | 1b1c2a9ec62be56dc10c2a2e944aa5ffd475ba2d /drivers | |
parent | b3b7d6be54f919556148946adb4ece91820ad210 (diff) |
[TG3]: Ignore tg3_stop_block() errors.
tg3_stop_block() errors can be safely ignored since tg3_chip_reset()
always follows tg3_stop_block() calls.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/tg3.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index e9e0c6e3de50..1d7cdd63babf 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c | |||
@@ -3725,8 +3725,6 @@ static int tg3_abort_hw(struct tg3 *tp, int silent) | |||
3725 | err |= tg3_stop_block(tp, SNDDATAC_MODE, SNDDATAC_MODE_ENABLE, silent); | 3725 | err |= tg3_stop_block(tp, SNDDATAC_MODE, SNDDATAC_MODE_ENABLE, silent); |
3726 | err |= tg3_stop_block(tp, DMAC_MODE, DMAC_MODE_ENABLE, silent); | 3726 | err |= tg3_stop_block(tp, DMAC_MODE, DMAC_MODE_ENABLE, silent); |
3727 | err |= tg3_stop_block(tp, SNDBDC_MODE, SNDBDC_MODE_ENABLE, silent); | 3727 | err |= tg3_stop_block(tp, SNDBDC_MODE, SNDBDC_MODE_ENABLE, silent); |
3728 | if (err) | ||
3729 | goto out; | ||
3730 | 3728 | ||
3731 | tp->mac_mode &= ~MAC_MODE_TDE_ENABLE; | 3729 | tp->mac_mode &= ~MAC_MODE_TDE_ENABLE; |
3732 | tw32_f(MAC_MODE, tp->mac_mode); | 3730 | tw32_f(MAC_MODE, tp->mac_mode); |
@@ -3744,10 +3742,10 @@ static int tg3_abort_hw(struct tg3 *tp, int silent) | |||
3744 | printk(KERN_ERR PFX "tg3_abort_hw timed out for %s, " | 3742 | printk(KERN_ERR PFX "tg3_abort_hw timed out for %s, " |
3745 | "TX_MODE_ENABLE will not clear MAC_TX_MODE=%08x\n", | 3743 | "TX_MODE_ENABLE will not clear MAC_TX_MODE=%08x\n", |
3746 | tp->dev->name, tr32(MAC_TX_MODE)); | 3744 | tp->dev->name, tr32(MAC_TX_MODE)); |
3747 | return -ENODEV; | 3745 | err |= -ENODEV; |
3748 | } | 3746 | } |
3749 | 3747 | ||
3750 | err = tg3_stop_block(tp, HOSTCC_MODE, HOSTCC_MODE_ENABLE, silent); | 3748 | err |= tg3_stop_block(tp, HOSTCC_MODE, HOSTCC_MODE_ENABLE, silent); |
3751 | err |= tg3_stop_block(tp, WDMAC_MODE, WDMAC_MODE_ENABLE, silent); | 3749 | err |= tg3_stop_block(tp, WDMAC_MODE, WDMAC_MODE_ENABLE, silent); |
3752 | err |= tg3_stop_block(tp, MBFREE_MODE, MBFREE_MODE_ENABLE, silent); | 3750 | err |= tg3_stop_block(tp, MBFREE_MODE, MBFREE_MODE_ENABLE, silent); |
3753 | 3751 | ||
@@ -3756,15 +3754,12 @@ static int tg3_abort_hw(struct tg3 *tp, int silent) | |||
3756 | 3754 | ||
3757 | err |= tg3_stop_block(tp, BUFMGR_MODE, BUFMGR_MODE_ENABLE, silent); | 3755 | err |= tg3_stop_block(tp, BUFMGR_MODE, BUFMGR_MODE_ENABLE, silent); |
3758 | err |= tg3_stop_block(tp, MEMARB_MODE, MEMARB_MODE_ENABLE, silent); | 3756 | err |= tg3_stop_block(tp, MEMARB_MODE, MEMARB_MODE_ENABLE, silent); |
3759 | if (err) | ||
3760 | goto out; | ||
3761 | 3757 | ||
3762 | if (tp->hw_status) | 3758 | if (tp->hw_status) |
3763 | memset(tp->hw_status, 0, TG3_HW_STATUS_SIZE); | 3759 | memset(tp->hw_status, 0, TG3_HW_STATUS_SIZE); |
3764 | if (tp->hw_stats) | 3760 | if (tp->hw_stats) |
3765 | memset(tp->hw_stats, 0, sizeof(struct tg3_hw_stats)); | 3761 | memset(tp->hw_stats, 0, sizeof(struct tg3_hw_stats)); |
3766 | 3762 | ||
3767 | out: | ||
3768 | return err; | 3763 | return err; |
3769 | } | 3764 | } |
3770 | 3765 | ||
@@ -5063,9 +5058,7 @@ static int tg3_reset_hw(struct tg3 *tp) | |||
5063 | tg3_write_sig_pre_reset(tp, RESET_KIND_INIT); | 5058 | tg3_write_sig_pre_reset(tp, RESET_KIND_INIT); |
5064 | 5059 | ||
5065 | if (tp->tg3_flags & TG3_FLAG_INIT_COMPLETE) { | 5060 | if (tp->tg3_flags & TG3_FLAG_INIT_COMPLETE) { |
5066 | err = tg3_abort_hw(tp, 1); | 5061 | tg3_abort_hw(tp, 1); |
5067 | if (err) | ||
5068 | return err; | ||
5069 | } | 5062 | } |
5070 | 5063 | ||
5071 | err = tg3_chip_reset(tp); | 5064 | err = tg3_chip_reset(tp); |