diff options
author | Stephen Hemminger <shemminger@linux-foundation.org> | 2007-04-11 23:48:00 +0200 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-04-19 21:01:17 +0200 |
commit | 4f44d8ba09280a7f0887ab60277940d6c72f2b43 (patch) | |
tree | c3762ad0ffbf3d8f101490bbcb05fa6162deea8c /drivers/net | |
parent | sky2: handle descriptor errors (diff) | |
download | linux-4f44d8ba09280a7f0887ab60277940d6c72f2b43.tar.xz linux-4f44d8ba09280a7f0887ab60277940d6c72f2b43.zip |
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/net')
-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) int i; /* disable ASF */ - if (hw->chip_id <= CHIP_ID_YUKON_EC) { - if (hw->chip_id == CHIP_ID_YUKON_EX) { - status = sky2_read16(hw, HCU_CCSR); - status &= ~(HCU_CCSR_AHB_RST | HCU_CCSR_CPU_RST_MODE | - HCU_CCSR_UC_STATE_MSK); - sky2_write16(hw, HCU_CCSR, status); - } else - sky2_write8(hw, B28_Y2_ASF_STAT_CMD, Y2_ASF_RESET); - sky2_write16(hw, B0_CTST, Y2_ASF_DISABLE); - } + if (hw->chip_id == CHIP_ID_YUKON_EX) { + status = sky2_read16(hw, HCU_CCSR); + status &= ~(HCU_CCSR_AHB_RST | HCU_CCSR_CPU_RST_MODE | + HCU_CCSR_UC_STATE_MSK); + sky2_write16(hw, HCU_CCSR, status); + } else + sky2_write8(hw, B28_Y2_ASF_STAT_CMD, Y2_ASF_RESET); + sky2_write16(hw, B0_CTST, Y2_ASF_DISABLE); /* do a SW reset */ sky2_write8(hw, B0_CTST, CS_RST_SET); |