iwlwifi: disable interrupts before calling request_irq
authorJes Sorensen <jes@sgi.com>
Fri, 26 Oct 2007 14:10:39 +0000 (16:10 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Jan 2008 23:03:34 +0000 (15:03 -0800)
Disable interrupts in the iwl4965 before calling request_irq() for
the case that the previous OS or the BIOS left a pending interrupt in
the chip. This behavior has been observed on some laptops such as T61
Thinkpads and Toshiba Portege R500

Signed-off-by: Jes Sorensen <jes@sgi.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlwifi/iwl3945-base.c
drivers/net/wireless/iwlwifi/iwl4965-base.c

index 691d64e0393d11782948970364f8474591481b70..e0f6f03a920fb7519e6b5635bfd69f616eb7c924 100644 (file)
@@ -8494,6 +8494,8 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
        priv->power_mode = IWL_POWER_AC;
        priv->user_txpower_limit = IWL_DEFAULT_TX_POWER;
 
+       iwl_disable_interrupts(priv);
+
        pci_enable_msi(pdev);
 
        err = request_irq(pdev->irq, iwl_isr, IRQF_SHARED, DRV_NAME, priv);
index 6fb49b0738a0dbd54a1476f832a78973c8ce3b73..07df6c1c102c5e653e6ae21310350b4d77735820 100644 (file)
@@ -9122,6 +9122,8 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
        priv->power_mode = IWL_POWER_AC;
        priv->user_txpower_limit = IWL_DEFAULT_TX_POWER;
 
+       iwl_disable_interrupts(priv);
+
        pci_enable_msi(pdev);
 
        err = request_irq(pdev->irq, iwl_isr, IRQF_SHARED, DRV_NAME, priv);