Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 74e5c41b authored by Wey-Yi Guy's avatar Wey-Yi Guy Committed by John W. Linville
Browse files

iwlwifi: Relax uCode timeout/error checking for 6000g2b



Disable plcp error checking for 6000g2b devices, with wifi/bt coex;
this got trigger too often, disable for now until finding better
trigger point.

Also extend the firmware reload timer much longer for BT coex to make sure
there are will be no mistake to reload firmware too fast and too often.

Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 511b082d
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -796,7 +796,7 @@ struct iwl_cfg iwl6000g2b_2agn_cfg = {
	.supports_idle = true,
	.adv_thermal_throttle = true,
	.support_ct_kill_exit = true,
	.plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DEF,
	.plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DISABLE,
	.chain_noise_scale = 1000,
	.monitor_recover_period = IWL_LONG_MONITORING_PERIOD,
	.max_event_log_size = 512,
@@ -835,7 +835,7 @@ struct iwl_cfg iwl6000g2b_2abg_cfg = {
	.supports_idle = true,
	.adv_thermal_throttle = true,
	.support_ct_kill_exit = true,
	.plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DEF,
	.plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DISABLE,
	.chain_noise_scale = 1000,
	.monitor_recover_period = IWL_LONG_MONITORING_PERIOD,
	.max_event_log_size = 512,
@@ -876,7 +876,7 @@ struct iwl_cfg iwl6000g2b_2bgn_cfg = {
	.supports_idle = true,
	.adv_thermal_throttle = true,
	.support_ct_kill_exit = true,
	.plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DEF,
	.plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DISABLE,
	.chain_noise_scale = 1000,
	.monitor_recover_period = IWL_LONG_MONITORING_PERIOD,
	.max_event_log_size = 512,
@@ -915,7 +915,7 @@ struct iwl_cfg iwl6000g2b_2bg_cfg = {
	.supports_idle = true,
	.adv_thermal_throttle = true,
	.support_ct_kill_exit = true,
	.plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DEF,
	.plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DISABLE,
	.chain_noise_scale = 1000,
	.monitor_recover_period = IWL_LONG_MONITORING_PERIOD,
	.max_event_log_size = 512,
@@ -956,7 +956,7 @@ struct iwl_cfg iwl6000g2b_bgn_cfg = {
	.supports_idle = true,
	.adv_thermal_throttle = true,
	.support_ct_kill_exit = true,
	.plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DEF,
	.plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DISABLE,
	.chain_noise_scale = 1000,
	.monitor_recover_period = IWL_LONG_MONITORING_PERIOD,
	.max_event_log_size = 512,
@@ -995,7 +995,7 @@ struct iwl_cfg iwl6000g2b_bg_cfg = {
	.supports_idle = true,
	.adv_thermal_throttle = true,
	.support_ct_kill_exit = true,
	.plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DEF,
	.plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DISABLE,
	.chain_noise_scale = 1000,
	.monitor_recover_period = IWL_LONG_MONITORING_PERIOD,
	.max_event_log_size = 512,
+7 −3
Original line number Diff line number Diff line
@@ -2646,10 +2646,14 @@ static int iwl_check_stuck_queue(struct iwl_priv *priv, int cnt)
						"queue %d, not read %d time\n",
						q->id,
						q->repeat_same_read_ptr);
				mod_timer(&priv->monitor_recover, jiffies +
					msecs_to_jiffies(IWL_ONE_HUNDRED_MSECS));
			}
				if (!priv->cfg->advanced_bt_coexist) {
					mod_timer(&priv->monitor_recover,
						jiffies + msecs_to_jiffies(
						IWL_ONE_HUNDRED_MSECS));
					return 1;
				}
			}
			return 0;
		} else {
			q->last_read_ptr = q->read_ptr;
			q->repeat_same_read_ptr = 0;