From 6c2114ea4caa2404c9b9da8bf636308060c9e3d0 Mon Sep 17 00:00:00 2001 From: Mike McCormack Date: Tue, 21 Jul 2009 20:57:56 -0700 Subject: [PATCH] --- yaml --- r: 155675 b: refs/heads/master c: a947a39d52f5b647a2fd5eca55d39e722a2fa90f h: refs/heads/master i: 155673: fa5d873aea0e9e7f7cf3728e868992651fecdd5f 155671: aa2e1c71bc21b672429e3e737290f6e44c5a1b53 v: v3 --- [refs] | 2 +- trunk/drivers/net/sky2.c | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index 797d6c30638b..f550f0acdc0a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 86669530d966ca21f4245b9990e7ae188d433d1e +refs/heads/master: a947a39d52f5b647a2fd5eca55d39e722a2fa90f diff --git a/trunk/drivers/net/sky2.c b/trunk/drivers/net/sky2.c index ba768dfa59e0..3550c5dcd93c 100644 --- a/trunk/drivers/net/sky2.c +++ b/trunk/drivers/net/sky2.c @@ -1818,12 +1818,6 @@ static int sky2_down(struct net_device *dev) if (netif_msg_ifdown(sky2)) printk(KERN_INFO PFX "%s: disabling interface\n", dev->name); - /* Disable port IRQ */ - imask = sky2_read32(hw, B0_IMSK); - imask &= ~portirq_msk[port]; - sky2_write32(hw, B0_IMSK, imask); - sky2_read32(hw, B0_IMSK); - /* Force flow control off */ sky2_write8(hw, SK_REG(port, GMAC_CTRL), GMC_PAUSE_OFF); @@ -1863,8 +1857,6 @@ static int sky2_down(struct net_device *dev) sky2_write32(hw, RB_ADDR(txqaddr[port], RB_CTRL), RB_RST_SET); - sky2_rx_stop(sky2); - sky2_write8(hw, SK_REG(port, RX_GMF_CTRL_T), GMF_RST_SET); sky2_write8(hw, SK_REG(port, TX_GMF_CTRL_T), GMF_RST_SET); @@ -1874,6 +1866,14 @@ static int sky2_down(struct net_device *dev) sky2_write32(hw, STAT_ISR_TIMER_CNT, 0); sky2_read8(hw, STAT_ISR_TIMER_CTRL); + sky2_rx_stop(sky2); + + /* Disable port IRQ */ + imask = sky2_read32(hw, B0_IMSK); + imask &= ~portirq_msk[port]; + sky2_write32(hw, B0_IMSK, imask); + sky2_read32(hw, B0_IMSK); + synchronize_irq(hw->pdev->irq); napi_synchronize(&hw->napi);