summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/iwlwifi/iwl-agn.c
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2011-08-25 23:10:53 -0700
committerJohn W. Linville <linville@tuxdriver.com>2011-08-29 15:25:33 -0400
commit0c325769a394559941acda83e888a1d9b1ef8b7f (patch)
tree6c64e9a7f14f5d8c9d6d0df095aa2747caddc0b8 /drivers/net/wireless/iwlwifi/iwl-agn.c
parent57210f7c9f04a2509ee54a0f454003a714db96dd (diff)
iwlagn: move ISR related data to transport layer
Since the ISR is entirely in the transport layer, its data should be in the pcie specific region. Change sync_irq to first disable and then synchronize the IRQ. iwl_isr and iwl_isr_ict now receive iwl_trans. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-agn.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index 660abede935c..ca6bb7b1c96d 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -3627,7 +3627,6 @@ int iwl_probe(struct iwl_bus *bus, const struct iwl_trans_ops *trans_ops,
IWL_DEBUG_INFO(priv, "*** LOAD DRIVER ***\n");
priv->cfg = cfg;
- priv->inta_mask = CSR_INI_SET_MASK;
/* is antenna coupling more than 35dB ? */
priv->bt_ant_couple_ok =
@@ -3771,8 +3770,6 @@ out:
void __devexit iwl_remove(struct iwl_priv * priv)
{
- unsigned long flags;
-
wait_for_completion(&priv->firmware_loading_complete);
IWL_DEBUG_INFO(priv, "*** UNLOAD DRIVER ***\n");
@@ -3801,13 +3798,8 @@ void __devexit iwl_remove(struct iwl_priv * priv)
iwl_tt_exit(priv);
/* make sure we flush any pending irq or
- * tasklet for the driver
- */
- spin_lock_irqsave(&priv->shrd->lock, flags);
- iwl_disable_interrupts(priv);
- spin_unlock_irqrestore(&priv->shrd->lock, flags);
-
- iwl_trans_sync_irq(trans(priv));
+ * tasklet for the driver */
+ iwl_trans_disable_sync_irq(trans(priv));
iwl_dealloc_ucode(priv);