Hi Devin,

On Sun, 2011-08-07 at 14:33 -0700, Devin J. Pohly wrote:
> I went ahead and backported it to linux-3.0.y git.  Not sure whether 
> that requires a sign-off or not (I'm new to the process), but you can 
> take it off if it's not needed.
> 
> Hoping this is in the right format - it's what I got after git-am and 
> git-format-patch.
> 
> *dp
> 
Thanks for help, I don't think you want to cut and paste the patch and
attach to the email, could you send the patch created by
git-format-patch with the correct description and signed-off (including
yours) to greg?

Best Regards
Wey
> 
> --- 8< --- 8< --- CUT HERE --- 8< --- 8< ---
>  From c4a162e9e1783c0d483f43d964160eff3f9e5310 Mon Sep 17 00:00:00 2001
> From: Wey-Yi Guy <wey-yi.w....@intel.com>
> Date: Tue, 2 Aug 2011 09:08:37 -0700
> Subject: [PATCH] iwlagn: 5000 do not support idle mode
> 
> 5000 series has issue supporting power save idle mode:
> 
> commit        9dc2153315650eae220898668b6aa56a25c130be
> 
> iwlwifi: 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
> 
> Cc: sta...@kernel.org #2.6.39, #3.0.0
> Reported-by: Devin J Pohly <djpohly+...@gmail.com>
> Signed-off-by: Wey-Yi Guy <wey-yi.w....@intel.com>
> Signed-off-by: John W. Linville <linvi...@tuxdriver.com>
> Signed-off-by: Devin J. Pohly <djpohly+...@gmail.com>
> ---
>   drivers/net/wireless/iwlwifi/iwl-5000.c  |    1 +
>   drivers/net/wireless/iwlwifi/iwl-core.h  |    2 ++
>   drivers/net/wireless/iwlwifi/iwl-power.c |    3 ++-
>   3 files changed, 5 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c 
> b/drivers/net/wireless/iwlwifi/iwl-5000.c
> index e816c27..f1c3f49 100644
> --- a/drivers/net/wireless/iwlwifi/iwl-5000.c
> +++ b/drivers/net/wireless/iwlwifi/iwl-5000.c
> @@ -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,
> diff --git a/drivers/net/wireless/iwlwifi/iwl-core.h 
> b/drivers/net/wireless/iwlwifi/iwl-core.h
> index a54d416..b76996a 100644
> --- a/drivers/net/wireless/iwlwifi/iwl-core.h
> +++ b/drivers/net/wireless/iwlwifi/iwl-core.h
> @@ -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
> diff --git a/drivers/net/wireless/iwlwifi/iwl-power.c 
> b/drivers/net/wireless/iwlwifi/iwl-power.c
> index 595c930..4a05a6a 100644
> --- a/drivers/net/wireless/iwlwifi/iwl-power.c
> +++ b/drivers/net/wireless/iwlwifi/iwl-power.c
> @@ -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 */
> -- 
> 1.7.6
> 
> --- >8 --- >8 --- CUT HERE --- >8 --- >8 ---
> 
> 
> On 08/06/2011 12:15 PM, Guy, Wey-Yi W wrote:
> > Hi Greg,
> >
> > The patch is needed for 3.0-stable tree; I will fix it and re-submit, but 
> > since I am on business trip for next few weeks, so the patch will be delay 
> > a bit. Sorry!
> >
> >
> > -----Original Message-----
> > From: gre...@suse.de [mailto:gre...@suse.de]
> > Sent: Friday, August 05, 2011 9:13 PM
> > To: Guy, Wey-Yi W; djpohly+...@gmail.com; linvi...@tuxdriver.com
> > Cc: sta...@kernel.org
> > Subject: patch "[PATCH] iwlagn: 5000 do not support idle mode" failed to 
> > apply to 3.0-stable tree
> >
> >
> > The patch below does not apply to the 3.0-stable tree.
> > If someone wants it applied there, or to any other stable or longterm
> > tree, then please email the backport, including the original git commit
> > id to<sta...@kernel.org>.
> >
> > thanks,
> >
> > greg k-h
> >
> > ------------------ original commit in Linus's tree ------------------
> >
> >  From f35291082294ca6737953bbe4e9491ede04ab822 Mon Sep 17 00:00:00 2001
> > From: Wey-Yi Guy<wey-yi.w....@intel.com>
> > Date: Tue, 2 Aug 2011 09:08:37 -0700
> > Subject: [PATCH] iwlagn: 5000 do not support idle mode
> >
> > 5000 series has issue supporting power save idle mode:
> >
> > commit  9dc2153315650eae220898668b6aa56a25c130be
> >
> > iwlwifi: 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
> >
> > Cc: sta...@kernel.org #2.6.39, #3.0.0
> > Reported-by: Devin J Pohly<djpohly+...@gmail.com>
> > Signed-off-by: Wey-Yi Guy<wey-yi.w....@intel.com>
> > Signed-off-by: John W. Linville<linvi...@tuxdriver.com>
> >
> > diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c 
> > b/drivers/net/wireless/iwlwifi/iwl-5000.c
> > index 3eeb12e..c95cefd 100644
> > --- a/drivers/net/wireless/iwlwifi/iwl-5000.c
> > +++ b/drivers/net/wireless/iwlwifi/iwl-5000.c
> > @@ -365,6 +365,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,
> > diff --git a/drivers/net/wireless/iwlwifi/iwl-core.h 
> > b/drivers/net/wireless/iwlwifi/iwl-core.h
> > index 3e6bb73..02817a4 100644
> > --- a/drivers/net/wireless/iwlwifi/iwl-core.h
> > +++ b/drivers/net/wireless/iwlwifi/iwl-core.h
> > @@ -135,6 +135,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;
> > @@ -156,6 +157,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
> > diff --git a/drivers/net/wireless/iwlwifi/iwl-power.c 
> > b/drivers/net/wireless/iwlwifi/iwl-power.c
> > index 3ec619c..cd64df0 100644
> > --- a/drivers/net/wireless/iwlwifi/iwl-power.c
> > +++ b/drivers/net/wireless/iwlwifi/iwl-power.c
> > @@ -349,7 +349,8 @@ static void iwl_power_build_cmd(struct iwl_priv *priv,
> >
> >          if (priv->wowlan)
> >                  iwl_static_sleep_cmd(priv, cmd, IWL_POWER_INDEX_5, 
> > dtimper);
> > -       else if (priv->hw->conf.flags&  IEEE80211_CONF_IDLE)
> > +       else 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 */
> >


_______________________________________________
stable mailing list
stable@linux.kernel.org
http://linux.kernel.org/mailman/listinfo/stable

Reply via email to