aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/sky2.c18
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);