|
@@ -2845,6 +2845,7 @@ int iwl_pci_resume(struct pci_dev *pdev)
|
|
{
|
|
{
|
|
struct iwl_priv *priv = pci_get_drvdata(pdev);
|
|
struct iwl_priv *priv = pci_get_drvdata(pdev);
|
|
int ret;
|
|
int ret;
|
|
|
|
+ bool hw_rfkill = false;
|
|
|
|
|
|
/*
|
|
/*
|
|
* We disable the RETRY_TIMEOUT register (0x41) to keep
|
|
* We disable the RETRY_TIMEOUT register (0x41) to keep
|
|
@@ -2859,6 +2860,17 @@ int iwl_pci_resume(struct pci_dev *pdev)
|
|
pci_restore_state(pdev);
|
|
pci_restore_state(pdev);
|
|
iwl_enable_interrupts(priv);
|
|
iwl_enable_interrupts(priv);
|
|
|
|
|
|
|
|
+ if (!(iwl_read32(priv, CSR_GP_CNTRL) &
|
|
|
|
+ CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW))
|
|
|
|
+ hw_rfkill = true;
|
|
|
|
+
|
|
|
|
+ if (hw_rfkill)
|
|
|
|
+ set_bit(STATUS_RF_KILL_HW, &priv->status);
|
|
|
|
+ else
|
|
|
|
+ clear_bit(STATUS_RF_KILL_HW, &priv->status);
|
|
|
|
+
|
|
|
|
+ wiphy_rfkill_set_hw_state(priv->hw->wiphy, hw_rfkill);
|
|
|
|
+
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
EXPORT_SYMBOL(iwl_pci_resume);
|
|
EXPORT_SYMBOL(iwl_pci_resume);
|