Commit 14fdd90e authored by broonie@sirena.org.uk's avatar broonie@sirena.org.uk Committed by Jeff Garzik

natsemi: Consistently use interrupt enable/disable functions

The natsemi drivers include functions for enabling and disabling
interrupts from the chip but these are not used in all code paths.  This
patch changes the code paths that touch the interrupt enable register to
use the functions.  In all cases this adds an extra PCI read to post the
operation but since none of these are in fast paths this shouldn't be
too much of a problem.
Signed-Off-By: default avatarMark Brown <broonie@sirena.org.uk>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent b58ecad8
...@@ -1712,7 +1712,7 @@ static void init_registers(struct net_device *dev) ...@@ -1712,7 +1712,7 @@ static void init_registers(struct net_device *dev)
/* Enable interrupts by setting the interrupt mask. */ /* Enable interrupts by setting the interrupt mask. */
writel(DEFAULT_INTR, ioaddr + IntrMask); writel(DEFAULT_INTR, ioaddr + IntrMask);
writel(1, ioaddr + IntrEnable); natsemi_irq_enable(dev);
writel(RxOn | TxOn, ioaddr + ChipCmd); writel(RxOn | TxOn, ioaddr + ChipCmd);
writel(StatsClear, ioaddr + StatsCtrl); /* Clear Stats */ writel(StatsClear, ioaddr + StatsCtrl); /* Clear Stats */
...@@ -3071,7 +3071,7 @@ static void enable_wol_mode(struct net_device *dev, int enable_intr) ...@@ -3071,7 +3071,7 @@ static void enable_wol_mode(struct net_device *dev, int enable_intr)
* Could be used to send a netlink message. * Could be used to send a netlink message.
*/ */
writel(WOLPkt | LinkChange, ioaddr + IntrMask); writel(WOLPkt | LinkChange, ioaddr + IntrMask);
writel(1, ioaddr + IntrEnable); natsemi_irq_enable(dev);
} }
} }
...@@ -3202,7 +3202,7 @@ static int natsemi_suspend (struct pci_dev *pdev, pm_message_t state) ...@@ -3202,7 +3202,7 @@ static int natsemi_suspend (struct pci_dev *pdev, pm_message_t state)
disable_irq(dev->irq); disable_irq(dev->irq);
spin_lock_irq(&np->lock); spin_lock_irq(&np->lock);
writel(0, ioaddr + IntrEnable); natsemi_irq_disable(dev);
np->hands_off = 1; np->hands_off = 1;
natsemi_stop_rxtx(dev); natsemi_stop_rxtx(dev);
netif_stop_queue(dev); netif_stop_queue(dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment