mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-03 09:41:54 +09:00
iwlagn: 5000 do not support idle mode
commitf352910822upstream. 5000 series has issue supporting power save idle mode: commit9dc2153315iwlwifi: always support idle mode for agn devices For agn devices, always support idle mode which help power consumption in idle unassociated state. the above changes cause 5000 become not stable when power management is "on" http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2312 Reported-by: Devin J. Pohly <djpohly+iwl@gmail.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Devin J. Pohly <djpohly+iwl@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
06e67267ad
commit
3e244baaa6
@@ -421,6 +421,7 @@ static struct iwl_base_params iwl5000_base_params = {
|
||||
.chain_noise_scale = 1000,
|
||||
.wd_timeout = IWL_LONG_WD_TIMEOUT,
|
||||
.max_event_log_size = 512,
|
||||
.no_idle_support = true,
|
||||
};
|
||||
static struct iwl_ht_params iwl5000_ht_params = {
|
||||
.ht_greenfield_support = true,
|
||||
|
||||
@@ -195,6 +195,7 @@ struct iwl_mod_params {
|
||||
* @temperature_kelvin: temperature report by uCode in kelvin
|
||||
* @max_event_log_size: size of event log buffer size for ucode event logging
|
||||
* @shadow_reg_enable: HW shadhow register bit
|
||||
* @no_idle_support: do not support idle mode
|
||||
*/
|
||||
struct iwl_base_params {
|
||||
int eeprom_size;
|
||||
@@ -216,6 +217,7 @@ struct iwl_base_params {
|
||||
bool temperature_kelvin;
|
||||
u32 max_event_log_size;
|
||||
const bool shadow_reg_enable;
|
||||
const bool no_idle_support;
|
||||
};
|
||||
/*
|
||||
* @advanced_bt_coexist: support advanced bt coexist
|
||||
|
||||
@@ -355,7 +355,8 @@ static void iwl_power_build_cmd(struct iwl_priv *priv,
|
||||
|
||||
dtimper = priv->hw->conf.ps_dtim_period ?: 1;
|
||||
|
||||
if (priv->hw->conf.flags & IEEE80211_CONF_IDLE)
|
||||
if (!priv->cfg->base_params->no_idle_support &&
|
||||
priv->hw->conf.flags & IEEE80211_CONF_IDLE)
|
||||
iwl_static_sleep_cmd(priv, cmd, IWL_POWER_INDEX_5, 20);
|
||||
else if (iwl_tt_is_low_power_state(priv)) {
|
||||
/* in thermal throttling low power state */
|
||||
|
||||
Reference in New Issue
Block a user