]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/2.6.32.17/ath9k-re-enable-ps-by-default-for-new-single-chip-families.patch
4.9-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 2.6.32.17 / ath9k-re-enable-ps-by-default-for-new-single-chip-families.patch
1 From 14acdde6e527950f66c084dbf19bad6fbfcaeedc Mon Sep 17 00:00:00 2001
2 From: Luis R. Rodriguez <lrodriguez@atheros.com>
3 Date: Fri, 18 Dec 2009 11:26:04 -0500
4 Subject: ath9k: re-enable ps by default for new single chip families
5
6 From: Luis R. Rodriguez <lrodriguez@atheros.com>
7
8 commit 14acdde6e527950f66c084dbf19bad6fbfcaeedc upstream.
9
10 The newer single chip hardware family of chipsets have not been
11 experiencing issues with power saving set by default with recent
12 fixes merged (even into stable). The remaining issues are only
13 reported with AR5416 and since enabling PS by default can increase
14 power savings considerably best to take advantage of that feature
15 as this has been tested properly.
16
17 For more details on this issue see the bug report:
18
19 http://bugzilla.kernel.org/show_bug.cgi?id=14267
20
21 We leave AR5416 with PS disabled by default, that seems to require
22 some more work.
23
24 Cc: Peter Stuge <peter@stuge.se>
25 Cc: Justin P. Mattock <justinmattock@gmail.com>
26 Cc: Kristoffer Ericson <kristoffer.ericson@gmail.com>
27 Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
28 Signed-off-by: John W. Linville <linville@tuxdriver.com>
29 Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
30
31
32 ---
33 drivers/net/wireless/ath/ath9k/main.c | 7 ++++++-
34 1 file changed, 6 insertions(+), 1 deletion(-)
35
36 --- a/drivers/net/wireless/ath/ath9k/main.c
37 +++ b/drivers/net/wireless/ath/ath9k/main.c
38 @@ -1538,6 +1538,8 @@ bad_no_ah:
39
40 void ath_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw)
41 {
42 + struct ath_hw *ah = sc->sc_ah;
43 +
44 hw->flags = IEEE80211_HW_RX_INCLUDES_FCS |
45 IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING |
46 IEEE80211_HW_SIGNAL_DBM |
47 @@ -1558,7 +1560,10 @@ void ath_set_hw_capab(struct ath_softc *
48 BIT(NL80211_IFTYPE_ADHOC) |
49 BIT(NL80211_IFTYPE_MESH_POINT);
50
51 - hw->wiphy->ps_default = false;
52 + if (AR_SREV_5416(ah))
53 + hw->wiphy->ps_default = false;
54 + else
55 + hw->wiphy->ps_default = true;
56
57 hw->queues = 4;
58 hw->max_rates = 4;