aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/intel/iwlwifi/iwl-modparams.h
diff options
context:
space:
mode:
authorLuca Coelho <luciano.coelho@intel.com>2017-12-12 08:58:41 +0200
committerLuca Coelho <luciano.coelho@intel.com>2018-04-26 15:18:07 +0300
commit49564a806fc5551ef22140e9aa4e29c6788d3eb0 (patch)
tree27985ddcfae067d87b3c4cb12e9661aaec377232 /drivers/net/wireless/intel/iwlwifi/iwl-modparams.h
parentiwlwifi: fw: combine loading of last page block into main copy loop (diff)
downloadlinux-dev-49564a806fc5551ef22140e9aa4e29c6788d3eb0.tar.xz
linux-dev-49564a806fc5551ef22140e9aa4e29c6788d3eb0.zip
iwlwifi: pcie: remove non-responsive device
If we fail to to grab NIC access because the device is not responding (i.e. CSR_GP_CNTRL returns 0xFFFFFFFF), remove the device from the PCI bus, to avoid any further damage, and to let the user space rescan. In order to inform the userspace that a rescan is needed, we send a kobject uevent with "INACCESSIBLE". This functionality is disabled by default, but can be enabled via a new module parameter called "remove_when_gone". In the future we may change this module parameter to include 3 modes instead: do nothing; auto-rescan or; send uevent. Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Rajat Jain <rajatja@google.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/iwl-modparams.h')
-rw-r--r--drivers/net/wireless/intel/iwlwifi/iwl-modparams.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-modparams.h b/drivers/net/wireless/intel/iwlwifi/iwl-modparams.h
index a41c46e63eb1..a7dd8a8cddf9 100644
--- a/drivers/net/wireless/intel/iwlwifi/iwl-modparams.h
+++ b/drivers/net/wireless/intel/iwlwifi/iwl-modparams.h
@@ -122,6 +122,7 @@ enum iwl_uapsd_disable {
* @lar_disable: disable LAR (regulatory), default = 0
* @fw_monitor: allow to use firmware monitor
* @disable_11ac: disable VHT capabilities, default = false.
+ * @remove_when_gone: remove an inaccessible device from the PCIe bus.
*/
struct iwl_mod_params {
int swcrypto;
@@ -143,6 +144,7 @@ struct iwl_mod_params {
bool lar_disable;
bool fw_monitor;
bool disable_11ac;
+ bool remove_when_gone;
};
#endif /* #__iwl_modparams_h__ */