aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sky2.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/sky2.c')
-rw-r--r--drivers/net/sky2.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index bd5ccae53879..2747e2f74dcb 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -1499,6 +1499,11 @@ static int sky2_down(struct net_device *dev)
1499 /* Stop more packets from being queued */ 1499 /* Stop more packets from being queued */
1500 netif_stop_queue(dev); 1500 netif_stop_queue(dev);
1501 1501
1502 /* Disable port IRQ */
1503 imask = sky2_read32(hw, B0_IMSK);
1504 imask &= ~portirq_msk[port];
1505 sky2_write32(hw, B0_IMSK, imask);
1506
1502 sky2_gmac_reset(hw, port); 1507 sky2_gmac_reset(hw, port);
1503 1508
1504 /* Stop transmitter */ 1509 /* Stop transmitter */
@@ -1549,11 +1554,6 @@ static int sky2_down(struct net_device *dev)
1549 sky2_write8(hw, SK_REG(port, RX_GMF_CTRL_T), GMF_RST_SET); 1554 sky2_write8(hw, SK_REG(port, RX_GMF_CTRL_T), GMF_RST_SET);
1550 sky2_write8(hw, SK_REG(port, TX_GMF_CTRL_T), GMF_RST_SET); 1555 sky2_write8(hw, SK_REG(port, TX_GMF_CTRL_T), GMF_RST_SET);
1551 1556
1552 /* Disable port IRQ */
1553 imask = sky2_read32(hw, B0_IMSK);
1554 imask &= ~portirq_msk[port];
1555 sky2_write32(hw, B0_IMSK, imask);
1556
1557 sky2_phy_power(hw, port, 0); 1557 sky2_phy_power(hw, port, 0);
1558 1558
1559 /* turn off LED's */ 1559 /* turn off LED's */
@@ -1750,13 +1750,13 @@ static void sky2_phy_intr(struct sky2_hw *hw, unsigned port)
1750 struct sky2_port *sky2 = netdev_priv(dev); 1750 struct sky2_port *sky2 = netdev_priv(dev);
1751 u16 istatus, phystat; 1751 u16 istatus, phystat;
1752 1752
1753 if (!netif_running(dev))
1754 return;
1755
1753 spin_lock(&sky2->phy_lock); 1756 spin_lock(&sky2->phy_lock);
1754 istatus = gm_phy_read(hw, port, PHY_MARV_INT_STAT); 1757 istatus = gm_phy_read(hw, port, PHY_MARV_INT_STAT);
1755 phystat = gm_phy_read(hw, port, PHY_MARV_PHY_STAT); 1758 phystat = gm_phy_read(hw, port, PHY_MARV_PHY_STAT);
1756 1759
1757 if (!netif_running(dev))
1758 goto out;
1759
1760 if (netif_msg_intr(sky2)) 1760 if (netif_msg_intr(sky2))
1761 printk(KERN_INFO PFX "%s: phy interrupt status 0x%x 0x%x\n", 1761 printk(KERN_INFO PFX "%s: phy interrupt status 0x%x 0x%x\n",
1762 sky2->netdev->name, istatus, phystat); 1762 sky2->netdev->name, istatus, phystat);