|
@@ -3530,9 +3530,10 @@ static void iwl_mac_stop(struct ieee80211_hw *hw)
|
|
|
|
|
|
flush_workqueue(priv->workqueue);
|
|
|
|
|
|
- /* enable interrupts again in order to receive rfkill changes */
|
|
|
+ /* User space software may expect getting rfkill changes
|
|
|
+ * even if interface is down */
|
|
|
iwl_write32(priv, CSR_INT, 0xFFFFFFFF);
|
|
|
- iwl_enable_interrupts(priv);
|
|
|
+ iwl_enable_rfkill_int(priv);
|
|
|
|
|
|
IWL_DEBUG_MAC80211(priv, "leave\n");
|
|
|
}
|
|
@@ -4515,14 +4516,14 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
|
* 8. Enable interrupts and read RFKILL state
|
|
|
*********************************************/
|
|
|
|
|
|
- /* enable interrupts if needed: hw bug w/a */
|
|
|
+ /* enable rfkill interrupt: hw bug w/a */
|
|
|
pci_read_config_word(priv->pci_dev, PCI_COMMAND, &pci_cmd);
|
|
|
if (pci_cmd & PCI_COMMAND_INTX_DISABLE) {
|
|
|
pci_cmd &= ~PCI_COMMAND_INTX_DISABLE;
|
|
|
pci_write_config_word(priv->pci_dev, PCI_COMMAND, pci_cmd);
|
|
|
}
|
|
|
|
|
|
- iwl_enable_interrupts(priv);
|
|
|
+ iwl_enable_rfkill_int(priv);
|
|
|
|
|
|
/* If platform's RF_KILL switch is NOT set to KILL */
|
|
|
if (iwl_read32(priv, CSR_GP_CNTRL) & CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW)
|