diff options
Diffstat (limited to 'drivers/net/sky2.c')
-rw-r--r-- | drivers/net/sky2.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index 6cc5696e9a3e..2a2adc23f6ae 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c | |||
@@ -3189,6 +3189,8 @@ static int __devinit sky2_test_msi(struct sky2_hw *hw) | |||
3189 | struct pci_dev *pdev = hw->pdev; | 3189 | struct pci_dev *pdev = hw->pdev; |
3190 | int err; | 3190 | int err; |
3191 | 3191 | ||
3192 | init_waitqueue_head (&hw->msi_wait); | ||
3193 | |||
3192 | sky2_write32(hw, B0_IMSK, Y2_IS_IRQ_SW); | 3194 | sky2_write32(hw, B0_IMSK, Y2_IS_IRQ_SW); |
3193 | 3195 | ||
3194 | err = request_irq(pdev->irq, sky2_test_intr, IRQF_SHARED, DRV_NAME, hw); | 3196 | err = request_irq(pdev->irq, sky2_test_intr, IRQF_SHARED, DRV_NAME, hw); |
@@ -3198,10 +3200,8 @@ static int __devinit sky2_test_msi(struct sky2_hw *hw) | |||
3198 | return err; | 3200 | return err; |
3199 | } | 3201 | } |
3200 | 3202 | ||
3201 | init_waitqueue_head (&hw->msi_wait); | ||
3202 | |||
3203 | sky2_write8(hw, B0_CTST, CS_ST_SW_IRQ); | 3203 | sky2_write8(hw, B0_CTST, CS_ST_SW_IRQ); |
3204 | wmb(); | 3204 | sky2_read8(hw, B0_CTST); |
3205 | 3205 | ||
3206 | wait_event_timeout(hw->msi_wait, hw->msi_detected, HZ/10); | 3206 | wait_event_timeout(hw->msi_wait, hw->msi_detected, HZ/10); |
3207 | 3207 | ||