summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorJes Sorensen <jes@sgi.com>2007-10-26 16:10:39 +0200
committerDavid S. Miller <davem@davemloft.net>2008-01-28 15:03:34 -0800
commit49df2b33478fd67e642d05786d06de322504842c (patch)
treea4b7a571ae5ac9b76cf901435f240bce31b0f212 /drivers/net/wireless
parenteb76bf29dd4aceaf877b8971fbfda8617abe6e05 (diff)
iwlwifi: disable interrupts before calling request_irq
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>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl3945-base.c2
-rw-r--r--drivers/net/wireless/iwlwifi/iwl4965-base.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
index 691d64e0393..e0f6f03a920 100644
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -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);
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c
index 6fb49b0738a..07df6c1c102 100644
--- a/drivers/net/wireless/iwlwifi/iwl4965-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c
@@ -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);