Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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: Mark Brown <broonie@sirena.org.uk>

Signed-off-by: Jeff Garzik <jeff@garzik.org>

authored by

broonie@sirena.org.uk and committed by
Jeff Garzik
14fdd90e b58ecad8

+3 -3
+3 -3
drivers/net/natsemi.c
··· 1712 1712 1713 1713 /* Enable interrupts by setting the interrupt mask. */ 1714 1714 writel(DEFAULT_INTR, ioaddr + IntrMask); 1715 - writel(1, ioaddr + IntrEnable); 1715 + natsemi_irq_enable(dev); 1716 1716 1717 1717 writel(RxOn | TxOn, ioaddr + ChipCmd); 1718 1718 writel(StatsClear, ioaddr + StatsCtrl); /* Clear Stats */ ··· 3071 3071 * Could be used to send a netlink message. 3072 3072 */ 3073 3073 writel(WOLPkt | LinkChange, ioaddr + IntrMask); 3074 - writel(1, ioaddr + IntrEnable); 3074 + natsemi_irq_enable(dev); 3075 3075 } 3076 3076 } 3077 3077 ··· 3202 3202 disable_irq(dev->irq); 3203 3203 spin_lock_irq(&np->lock); 3204 3204 3205 - writel(0, ioaddr + IntrEnable); 3205 + natsemi_irq_disable(dev); 3206 3206 np->hands_off = 1; 3207 3207 natsemi_stop_rxtx(dev); 3208 3208 netif_stop_queue(dev);