linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Lutomirski <luto@mit.edu>
To: linux-wireless@vger.kernel.org, yi.zhu@intel.com,
	reinette.chatre@intel.com
Subject: [PATCH 2.6.31] iwlwifi: Reenable power_level
Date: Wed, 2 Sep 2009 10:53:08 -0400	[thread overview]
Message-ID: <cb0375e10909020753o4d314f61k74dd35025f61666a@mail.gmail.com> (raw)

Right now, enabling power saving on iwlwifi is impossible, because
mac80211 won't tell iwlwifi that power saving is on (since
IEEE80211_HW_SUPPORTS_PS is not set) and iwlwifi will ignore the
user's power_level setting until mac80211 asks for power saving.
Setting this flag allows the user to manually enable power saving if
desired.

Signed-off-by: Andy Lutomirski <luto@mit.edu>

---

This fixes what looks to me like a regression: power_level used to
work but now fails silently.  In 2.6.32 I think this code is going
away, but this patch seems like a safe stopgap measure.

iwlwifi mostly ignores mac80211's power settings, but I think
advertising IEEE80211_HW_SUPPORTS_PS should be safe, even this late in
the 2.6.31 cycle because:

1. This patch won't have any effect until the user requests power
saving through wext or nl80211.
2. Even if that happens, the user still has to set power_level in
sysfs for anything to change.
3. As far as I can tell, power_level in sysfs wasn't any safer in
2.6.29 or 2.6.30 than it will be with this patch.
4. This fixes a regression.

The power_level sysfs entry is still rather odd in that setting and
getting don't behave in quite the way that the user would expect
(there should probably be power_level_requested and actual_power_level
as separate entries), but power_level looks like it's going away soon,
so this isn't worth fixing now.

diff --git a/drivers/net/wireless/iwlwifi/iwl-core.c
b/drivers/net/wireless/iwlwifi/iwl-core.c
index 18b135f..be6f1e0 100644
--- a/drivers/net/wireless/iwlwifi/iwl-core.c
+++ b/drivers/net/wireless/iwlwifi/iwl-core.c
@@ -1325,7 +1325,8 @@ int iwl_setup_mac(struct iwl_priv *priv)
 	hw->flags = IEEE80211_HW_SIGNAL_DBM |
 		    IEEE80211_HW_NOISE_DBM |
 		    IEEE80211_HW_AMPDU_AGGREGATION |
-		    IEEE80211_HW_SPECTRUM_MGMT;
+		    IEEE80211_HW_SPECTRUM_MGMT |
+		    IEEE80211_HW_SUPPORTS_PS;
 	hw->wiphy->interface_modes =
 		BIT(NL80211_IFTYPE_STATION) |
 		BIT(NL80211_IFTYPE_ADHOC);

             reply	other threads:[~2009-09-02 14:53 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-02 14:53 Andrew Lutomirski [this message]
2009-09-02 15:56 ` [PATCH 2.6.31] iwlwifi: Reenable power_level reinette chatre
2009-09-02 16:41   ` Andrew Lutomirski
2009-09-02 16:54     ` reinette chatre
2009-09-02 17:03       ` Johannes Berg
2009-09-02 17:17         ` reinette chatre
2009-09-02 17:30           ` Johannes Berg
2009-09-02 17:38             ` Andrew Lutomirski
2009-09-02 18:23               ` reinette chatre
2009-09-02 16:48   ` Johannes Berg
2009-09-02 16:57     ` reinette chatre

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cb0375e10909020753o4d314f61k74dd35025f61666a@mail.gmail.com \
    --to=luto@mit.edu \
    --cc=linux-wireless@vger.kernel.org \
    --cc=reinette.chatre@intel.com \
    --cc=yi.zhu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).