diff options
author | Stephen Hemminger <shemminger@linux-foundation.org> | 2007-04-11 17:48:00 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-04-19 15:01:17 -0400 |
commit | 4f44d8ba09280a7f0887ab60277940d6c72f2b43 (patch) | |
tree | c3762ad0ffbf3d8f101490bbcb05fa6162deea8c /drivers | |
parent | 40b01727a5a65597160f1738d3fbe63de902f0cb (diff) |
sky2: disable ASF on all chip types
Need to make sure and disable ASF on all chip types. Otherwise, there may be
random reboots.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/sky2.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index a2cc721a2bf5..910c600a6caf 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c | |||
@@ -2542,16 +2542,14 @@ static void sky2_reset(struct sky2_hw *hw) | |||
2542 | int i; | 2542 | int i; |
2543 | 2543 | ||
2544 | /* disable ASF */ | 2544 | /* disable ASF */ |
2545 | if (hw->chip_id <= CHIP_ID_YUKON_EC) { | 2545 | if (hw->chip_id == CHIP_ID_YUKON_EX) { |
2546 | if (hw->chip_id == CHIP_ID_YUKON_EX) { | 2546 | status = sky2_read16(hw, HCU_CCSR); |
2547 | status = sky2_read16(hw, HCU_CCSR); | 2547 | status &= ~(HCU_CCSR_AHB_RST | HCU_CCSR_CPU_RST_MODE | |
2548 | status &= ~(HCU_CCSR_AHB_RST | HCU_CCSR_CPU_RST_MODE | | 2548 | HCU_CCSR_UC_STATE_MSK); |
2549 | HCU_CCSR_UC_STATE_MSK); | 2549 | sky2_write16(hw, HCU_CCSR, status); |
2550 | sky2_write16(hw, HCU_CCSR, status); | 2550 | } else |
2551 | } else | 2551 | sky2_write8(hw, B28_Y2_ASF_STAT_CMD, Y2_ASF_RESET); |
2552 | sky2_write8(hw, B28_Y2_ASF_STAT_CMD, Y2_ASF_RESET); | 2552 | sky2_write16(hw, B0_CTST, Y2_ASF_DISABLE); |
2553 | sky2_write16(hw, B0_CTST, Y2_ASF_DISABLE); | ||
2554 | } | ||
2555 | 2553 | ||
2556 | /* do a SW reset */ | 2554 | /* do a SW reset */ |
2557 | sky2_write8(hw, B0_CTST, CS_RST_SET); | 2555 | sky2_write8(hw, B0_CTST, CS_RST_SET); |