|
| 1 | +commit 3ef75019cdad54053edfa0ace8803a99388078df (HEAD -> qubes) |
| 2 | +Author: Paweł Marczewski <pawel@invisiblethingslab.com> |
| 3 | +Date: Tue Sep 22 13:24:09 2020 +0200 |
| 4 | + |
| 5 | + iwlwifi: add a disable_rxq switch |
| 6 | + |
| 7 | + Workaround for issues with Intel wireless cards under Qubes: |
| 8 | + |
| 9 | + https://github.com/QubesOS/qubes-issues/issues/5615 |
| 10 | + |
| 11 | +diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c |
| 12 | +index 04f14bfdd091..d3cd1d761ba0 100644 |
| 13 | +--- a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c |
| 14 | ++++ b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c |
| 15 | +@@ -1876,3 +1876,7 @@ MODULE_PARM_DESC(remove_when_gone, |
| 16 | + module_param_named(disable_11ax, iwlwifi_mod_params.disable_11ax, bool, |
| 17 | + S_IRUGO); |
| 18 | + MODULE_PARM_DESC(disable_11ax, "Disable HE capabilities (default: false)"); |
| 19 | ++ |
| 20 | ++module_param_named(disable_rxq, iwlwifi_mod_params.disable_rxq, bool, |
| 21 | ++ S_IRUGO); |
| 22 | ++MODULE_PARM_DESC(disable_rxq, "Disable RX queue configuration (default: false)"); |
| 23 | +diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-modparams.h b/drivers/net/wireless/intel/iwlwifi/iwl-modparams.h |
| 24 | +index e8ce3a300857..d48933fa173d 100644 |
| 25 | +--- a/drivers/net/wireless/intel/iwlwifi/iwl-modparams.h |
| 26 | ++++ b/drivers/net/wireless/intel/iwlwifi/iwl-modparams.h |
| 27 | +@@ -137,6 +137,7 @@ struct iwl_mod_params { |
| 28 | + bool disable_11ax; |
| 29 | + bool remove_when_gone; |
| 30 | + bool enable_ini; |
| 31 | ++ bool disable_rxq; |
| 32 | + }; |
| 33 | + |
| 34 | + static inline bool iwl_enable_rx_ampdu(void) |
| 35 | +diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c |
| 36 | +index 95a613537047..9c0dc72f7d18 100644 |
| 37 | +--- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c |
| 38 | ++++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c |
| 39 | +@@ -1241,7 +1241,8 @@ int iwl_mvm_up(struct iwl_mvm *mvm) |
| 40 | + } |
| 41 | + |
| 42 | + /* Init RSS configuration */ |
| 43 | +- if (mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_22000) { |
| 44 | ++ if (mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_22000 && |
| 45 | ++ !iwlwifi_mod_params.disable_rxq) { |
| 46 | + ret = iwl_configure_rxq(mvm); |
| 47 | + if (ret) { |
| 48 | + IWL_ERR(mvm, "Failed to configure RX queues: %d\n", |
0 commit comments