diff options
Diffstat (limited to 'drivers/net/skge.c')
| -rw-r--r-- | drivers/net/skge.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/skge.c b/drivers/net/skge.c index b8ebd9c7d40a..85296ba5eac2 100644 --- a/drivers/net/skge.c +++ b/drivers/net/skge.c | |||
| @@ -2747,7 +2747,7 @@ static int skge_poll(struct net_device *dev, int *budget) | |||
| 2747 | spin_lock_irq(&hw->hw_lock); | 2747 | spin_lock_irq(&hw->hw_lock); |
| 2748 | hw->intr_mask |= rxirqmask[skge->port]; | 2748 | hw->intr_mask |= rxirqmask[skge->port]; |
| 2749 | skge_write32(hw, B0_IMSK, hw->intr_mask); | 2749 | skge_write32(hw, B0_IMSK, hw->intr_mask); |
| 2750 | mmiowb(); | 2750 | skge_read32(hw, B0_IMSK); |
| 2751 | spin_unlock_irq(&hw->hw_lock); | 2751 | spin_unlock_irq(&hw->hw_lock); |
| 2752 | 2752 | ||
| 2753 | return 0; | 2753 | return 0; |
| @@ -2881,6 +2881,7 @@ static void skge_extirq(void *arg) | |||
| 2881 | spin_lock_irq(&hw->hw_lock); | 2881 | spin_lock_irq(&hw->hw_lock); |
| 2882 | hw->intr_mask |= IS_EXT_REG; | 2882 | hw->intr_mask |= IS_EXT_REG; |
| 2883 | skge_write32(hw, B0_IMSK, hw->intr_mask); | 2883 | skge_write32(hw, B0_IMSK, hw->intr_mask); |
| 2884 | skge_read32(hw, B0_IMSK); | ||
| 2884 | spin_unlock_irq(&hw->hw_lock); | 2885 | spin_unlock_irq(&hw->hw_lock); |
| 2885 | } | 2886 | } |
| 2886 | 2887 | ||
| @@ -2955,6 +2956,7 @@ static irqreturn_t skge_intr(int irq, void *dev_id, struct pt_regs *regs) | |||
| 2955 | skge_error_irq(hw); | 2956 | skge_error_irq(hw); |
| 2956 | 2957 | ||
| 2957 | skge_write32(hw, B0_IMSK, hw->intr_mask); | 2958 | skge_write32(hw, B0_IMSK, hw->intr_mask); |
| 2959 | skge_read32(hw, B0_IMSK); | ||
| 2958 | spin_unlock(&hw->hw_lock); | 2960 | spin_unlock(&hw->hw_lock); |
| 2959 | 2961 | ||
| 2960 | return IRQ_HANDLED; | 2962 | return IRQ_HANDLED; |
| @@ -3424,6 +3426,7 @@ static void __devexit skge_remove(struct pci_dev *pdev) | |||
| 3424 | spin_lock_irq(&hw->hw_lock); | 3426 | spin_lock_irq(&hw->hw_lock); |
| 3425 | hw->intr_mask = 0; | 3427 | hw->intr_mask = 0; |
| 3426 | skge_write32(hw, B0_IMSK, 0); | 3428 | skge_write32(hw, B0_IMSK, 0); |
| 3429 | skge_read32(hw, B0_IMSK); | ||
| 3427 | spin_unlock_irq(&hw->hw_lock); | 3430 | spin_unlock_irq(&hw->hw_lock); |
| 3428 | 3431 | ||
| 3429 | skge_write16(hw, B0_LED, LED_STAT_OFF); | 3432 | skge_write16(hw, B0_LED, LED_STAT_OFF); |
