diff options
author | John W. Linville <linville@tuxdriver.com> | 2011-01-05 14:35:41 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-01-05 14:35:41 -0500 |
commit | 6303710d7aa62bfb154cd13ab5ab12cfa8baaf91 (patch) | |
tree | 4718ca3186d92819b3d617f32813eab6a1896b91 /drivers | |
parent | db98a6cfcc9ac951067c9a2cb60459b618fd7b10 (diff) | |
parent | d2460f4b2fa6dbdeec800414f9cf5b1fc8b71197 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/hostap/hostap_main.c | 1 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn.c | 9 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-helpers.h | 6 |
3 files changed, 11 insertions, 5 deletions
diff --git a/drivers/net/wireless/hostap/hostap_main.c b/drivers/net/wireless/hostap/hostap_main.c index 25a2722c8a98..1d9aed645723 100644 --- a/drivers/net/wireless/hostap/hostap_main.c +++ b/drivers/net/wireless/hostap/hostap_main.c | |||
@@ -891,7 +891,6 @@ void hostap_setup_dev(struct net_device *dev, local_info_t *local, | |||
891 | 891 | ||
892 | SET_ETHTOOL_OPS(dev, &prism2_ethtool_ops); | 892 | SET_ETHTOOL_OPS(dev, &prism2_ethtool_ops); |
893 | 893 | ||
894 | netif_stop_queue(dev); | ||
895 | } | 894 | } |
896 | 895 | ||
897 | static int hostap_enable_hostapd(local_info_t *local, int rtnl_locked) | 896 | static int hostap_enable_hostapd(local_info_t *local, int rtnl_locked) |
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c index 5f11dc25a9bd..f13a83a7e62b 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c | |||
@@ -3280,9 +3280,10 @@ void iwlagn_mac_stop(struct ieee80211_hw *hw) | |||
3280 | 3280 | ||
3281 | flush_workqueue(priv->workqueue); | 3281 | flush_workqueue(priv->workqueue); |
3282 | 3282 | ||
3283 | /* enable interrupts again in order to receive rfkill changes */ | 3283 | /* User space software may expect getting rfkill changes |
3284 | * even if interface is down */ | ||
3284 | iwl_write32(priv, CSR_INT, 0xFFFFFFFF); | 3285 | iwl_write32(priv, CSR_INT, 0xFFFFFFFF); |
3285 | iwl_enable_interrupts(priv); | 3286 | iwl_enable_rfkill_int(priv); |
3286 | 3287 | ||
3287 | IWL_DEBUG_MAC80211(priv, "leave\n"); | 3288 | IWL_DEBUG_MAC80211(priv, "leave\n"); |
3288 | } | 3289 | } |
@@ -4191,14 +4192,14 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
4191 | * 8. Enable interrupts and read RFKILL state | 4192 | * 8. Enable interrupts and read RFKILL state |
4192 | *********************************************/ | 4193 | *********************************************/ |
4193 | 4194 | ||
4194 | /* enable interrupts if needed: hw bug w/a */ | 4195 | /* enable rfkill interrupt: hw bug w/a */ |
4195 | pci_read_config_word(priv->pci_dev, PCI_COMMAND, &pci_cmd); | 4196 | pci_read_config_word(priv->pci_dev, PCI_COMMAND, &pci_cmd); |
4196 | if (pci_cmd & PCI_COMMAND_INTX_DISABLE) { | 4197 | if (pci_cmd & PCI_COMMAND_INTX_DISABLE) { |
4197 | pci_cmd &= ~PCI_COMMAND_INTX_DISABLE; | 4198 | pci_cmd &= ~PCI_COMMAND_INTX_DISABLE; |
4198 | pci_write_config_word(priv->pci_dev, PCI_COMMAND, pci_cmd); | 4199 | pci_write_config_word(priv->pci_dev, PCI_COMMAND, pci_cmd); |
4199 | } | 4200 | } |
4200 | 4201 | ||
4201 | iwl_enable_interrupts(priv); | 4202 | iwl_enable_rfkill_int(priv); |
4202 | 4203 | ||
4203 | /* If platform's RF_KILL switch is NOT set to KILL */ | 4204 | /* If platform's RF_KILL switch is NOT set to KILL */ |
4204 | if (iwl_read32(priv, CSR_GP_CNTRL) & CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW) | 4205 | if (iwl_read32(priv, CSR_GP_CNTRL) & CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW) |
diff --git a/drivers/net/wireless/iwlwifi/iwl-helpers.h b/drivers/net/wireless/iwlwifi/iwl-helpers.h index 3f5bedd8875f..8821f088ba7f 100644 --- a/drivers/net/wireless/iwlwifi/iwl-helpers.h +++ b/drivers/net/wireless/iwlwifi/iwl-helpers.h | |||
@@ -148,6 +148,12 @@ static inline void iwl_disable_interrupts(struct iwl_priv *priv) | |||
148 | IWL_DEBUG_ISR(priv, "Disabled interrupts\n"); | 148 | IWL_DEBUG_ISR(priv, "Disabled interrupts\n"); |
149 | } | 149 | } |
150 | 150 | ||
151 | static inline void iwl_enable_rfkill_int(struct iwl_priv *priv) | ||
152 | { | ||
153 | IWL_DEBUG_ISR(priv, "Enabling rfkill interrupt\n"); | ||
154 | iwl_write32(priv, CSR_INT_MASK, CSR_INT_BIT_RF_KILL); | ||
155 | } | ||
156 | |||
151 | static inline void iwl_enable_interrupts(struct iwl_priv *priv) | 157 | static inline void iwl_enable_interrupts(struct iwl_priv *priv) |
152 | { | 158 | { |
153 | IWL_DEBUG_ISR(priv, "Enabling interrupts\n"); | 159 | IWL_DEBUG_ISR(priv, "Enabling interrupts\n"); |