diff options
author | Nishant Sarmukadam <nishants@marvell.com> | 2011-04-08 05:08:27 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-04-13 15:19:08 -0400 |
commit | 12488e01fb2b06bb3f6ee137efc88e29d827817e (patch) | |
tree | 67e570b5c0375f0b6e178e4e75595d8777a03c5f /drivers/net/wireless/mwl8k.c | |
parent | 8962d87129ec0a820d17ac44cbf3f51010ad8db8 (diff) |
mwl8k: interrupt handling changes
We do not need to enable all the interrupts in mwl8k_probe_hw.
We need to enable only MWL8K_A2H_INT_OPC_DONE interrupt for sending
commands to the firmware. Keep the other interrupts masked in
mwl8k_probe_hw. Also, in mwl8k_start, where we expect other interrupts,
enable only those interrupts we are interested in.
Signed-off-by: Nishant Sarmukadam <nishants@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/mwl8k.c')
-rw-r--r-- | drivers/net/wireless/mwl8k.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/wireless/mwl8k.c b/drivers/net/wireless/mwl8k.c index fb472f4924d0..d2416709ba52 100644 --- a/drivers/net/wireless/mwl8k.c +++ b/drivers/net/wireless/mwl8k.c | |||
@@ -4284,6 +4284,8 @@ static int mwl8k_start(struct ieee80211_hw *hw) | |||
4284 | 4284 | ||
4285 | /* Enable interrupts */ | 4285 | /* Enable interrupts */ |
4286 | iowrite32(MWL8K_A2H_EVENTS, priv->regs + MWL8K_HIU_A2H_INTERRUPT_MASK); | 4286 | iowrite32(MWL8K_A2H_EVENTS, priv->regs + MWL8K_HIU_A2H_INTERRUPT_MASK); |
4287 | iowrite32(MWL8K_A2H_EVENTS, | ||
4288 | priv->regs + MWL8K_HIU_A2H_INTERRUPT_STATUS_MASK); | ||
4287 | 4289 | ||
4288 | rc = mwl8k_fw_lock(hw); | 4290 | rc = mwl8k_fw_lock(hw); |
4289 | if (!rc) { | 4291 | if (!rc) { |
@@ -5282,7 +5284,8 @@ static int mwl8k_probe_hw(struct ieee80211_hw *hw) | |||
5282 | iowrite32(MWL8K_A2H_INT_TX_DONE|MWL8K_A2H_INT_RX_READY| | 5284 | iowrite32(MWL8K_A2H_INT_TX_DONE|MWL8K_A2H_INT_RX_READY| |
5283 | MWL8K_A2H_INT_BA_WATCHDOG, | 5285 | MWL8K_A2H_INT_BA_WATCHDOG, |
5284 | priv->regs + MWL8K_HIU_A2H_INTERRUPT_CLEAR_SEL); | 5286 | priv->regs + MWL8K_HIU_A2H_INTERRUPT_CLEAR_SEL); |
5285 | iowrite32(0xffffffff, priv->regs + MWL8K_HIU_A2H_INTERRUPT_STATUS_MASK); | 5287 | iowrite32(MWL8K_A2H_INT_OPC_DONE, |
5288 | priv->regs + MWL8K_HIU_A2H_INTERRUPT_STATUS_MASK); | ||
5286 | 5289 | ||
5287 | rc = request_irq(priv->pdev->irq, mwl8k_interrupt, | 5290 | rc = request_irq(priv->pdev->irq, mwl8k_interrupt, |
5288 | IRQF_SHARED, MWL8K_NAME, hw); | 5291 | IRQF_SHARED, MWL8K_NAME, hw); |