sky2: PCI irq issues
authorStephen Hemminger <shemminger@vyatta.com>
Wed, 17 Jun 2009 07:30:34 +0000 (07:30 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 18 Jun 2009 01:46:50 +0000 (18:46 -0700)
Add some read's to avoid any PCI posting issues when controlling
irq's.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/sky2.c

index e4e24ee..cc1c8d1 100644 (file)
@@ -1495,6 +1495,7 @@ static int sky2_up(struct net_device *dev)
        imask = sky2_read32(hw, B0_IMSK);
        imask |= portirq_msk[port];
        sky2_write32(hw, B0_IMSK, imask);
+       sky2_read32(hw, B0_IMSK);
 
        sky2_set_multicast(dev);
 
@@ -1812,6 +1813,7 @@ static int sky2_down(struct net_device *dev)
        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);