* [PATCH 0/3] wl1251 power save fixes for 2.6.33
@ 2009-11-26 8:55 Kalle Valo
2009-11-26 8:55 ` [PATCH 1/3] wl1251: remove false warning messages Kalle Valo
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Kalle Valo @ 2009-11-26 8:55 UTC (permalink / raw)
To: linville; +Cc: linux-wireless
Hi John,
my testing revealed serious power save problems in wl1251. If possible,
please send the fixes to 2.6.33. The patches should be simple enough and
they make a huge improvement.
---
Kalle Valo (3):
wl1251: remove false warning messages
wl1251: fix bssid handling
wl1251: don't build null data template in wl1251_op_config()
drivers/net/wireless/wl12xx/wl1251_main.c | 36 ++++++++++++-----------------
1 files changed, 15 insertions(+), 21 deletions(-)
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/3] wl1251: remove false warning messages
2009-11-26 8:55 [PATCH 0/3] wl1251 power save fixes for 2.6.33 Kalle Valo
@ 2009-11-26 8:55 ` Kalle Valo
2009-11-26 8:56 ` [PATCH 2/3] wl1251: fix bssid handling Kalle Valo
2009-11-26 8:56 ` [PATCH 3/3] wl1251: don't build null data template in wl1251_op_config() Kalle Valo
2 siblings, 0 replies; 4+ messages in thread
From: Kalle Valo @ 2009-11-26 8:55 UTC (permalink / raw)
To: linville; +Cc: linux-wireless
From: Kalle Valo <kalle.valo@nokia.com>
There was a warning from wl1251_op_bss_info_changed():
wl1251: WARNING Set ctsprotect failed 0
It was printed always, it's completely false and can be removed.
Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
---
drivers/net/wireless/wl12xx/wl1251_main.c | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/wl12xx/wl1251_main.c b/drivers/net/wireless/wl12xx/wl1251_main.c
index ff4be7b..8353139 100644
--- a/drivers/net/wireless/wl12xx/wl1251_main.c
+++ b/drivers/net/wireless/wl12xx/wl1251_main.c
@@ -1181,8 +1181,6 @@ static void wl1251_op_bss_info_changed(struct ieee80211_hw *hw,
wl->beacon_int, wl->dtim_period);
if (ret < 0)
goto out_sleep;
- wl1251_warning("Set ctsprotect failed %d", ret);
- goto out_sleep;
}
}
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/3] wl1251: fix bssid handling
2009-11-26 8:55 [PATCH 0/3] wl1251 power save fixes for 2.6.33 Kalle Valo
2009-11-26 8:55 ` [PATCH 1/3] wl1251: remove false warning messages Kalle Valo
@ 2009-11-26 8:56 ` Kalle Valo
2009-11-26 8:56 ` [PATCH 3/3] wl1251: don't build null data template in wl1251_op_config() Kalle Valo
2 siblings, 0 replies; 4+ messages in thread
From: Kalle Valo @ 2009-11-26 8:56 UTC (permalink / raw)
To: linville; +Cc: linux-wireless
From: Kalle Valo <kalle.valo@nokia.com>
bssid needs to be copied first in wl1251_op_bss_info_changed(), otherwise
templates will have incorrect bssid and power save will not work
correctly.
Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
---
drivers/net/wireless/wl12xx/wl1251_main.c | 30 +++++++++++++++--------------
1 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/drivers/net/wireless/wl12xx/wl1251_main.c b/drivers/net/wireless/wl12xx/wl1251_main.c
index 8353139..50d17fc 100644
--- a/drivers/net/wireless/wl12xx/wl1251_main.c
+++ b/drivers/net/wireless/wl12xx/wl1251_main.c
@@ -1110,6 +1110,21 @@ static void wl1251_op_bss_info_changed(struct ieee80211_hw *hw,
if (ret < 0)
goto out;
+ if (changed & BSS_CHANGED_BSSID) {
+ memcpy(wl->bssid, bss_conf->bssid, ETH_ALEN);
+
+ ret = wl1251_build_null_data(wl);
+ if (ret < 0)
+ goto out;
+
+ if (wl->bss_type != BSS_TYPE_IBSS) {
+ ret = wl1251_join(wl, wl->bss_type, wl->channel,
+ wl->beacon_int, wl->dtim_period);
+ if (ret < 0)
+ goto out_sleep;
+ }
+ }
+
if (changed & BSS_CHANGED_ASSOC) {
if (bss_conf->assoc) {
wl->beacon_int = bss_conf->beacon_int;
@@ -1169,21 +1184,6 @@ static void wl1251_op_bss_info_changed(struct ieee80211_hw *hw,
}
}
- if (changed & BSS_CHANGED_BSSID) {
- memcpy(wl->bssid, bss_conf->bssid, ETH_ALEN);
-
- ret = wl1251_build_null_data(wl);
- if (ret < 0)
- goto out;
-
- if (wl->bss_type != BSS_TYPE_IBSS) {
- ret = wl1251_join(wl, wl->bss_type, wl->channel,
- wl->beacon_int, wl->dtim_period);
- if (ret < 0)
- goto out_sleep;
- }
- }
-
if (changed & BSS_CHANGED_BEACON) {
beacon = ieee80211_beacon_get(hw, vif);
ret = wl1251_cmd_template_set(wl, CMD_BEACON, beacon->data,
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 3/3] wl1251: don't build null data template in wl1251_op_config()
2009-11-26 8:55 [PATCH 0/3] wl1251 power save fixes for 2.6.33 Kalle Valo
2009-11-26 8:55 ` [PATCH 1/3] wl1251: remove false warning messages Kalle Valo
2009-11-26 8:56 ` [PATCH 2/3] wl1251: fix bssid handling Kalle Valo
@ 2009-11-26 8:56 ` Kalle Valo
2 siblings, 0 replies; 4+ messages in thread
From: Kalle Valo @ 2009-11-26 8:56 UTC (permalink / raw)
To: linville; +Cc: linux-wireless
From: Kalle Valo <kalle.valo@nokia.com>
The bssid can be zero when null data template is set in wl1251_op_config().
It's enough, and especially safe, to set it once after association.
Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
---
drivers/net/wireless/wl12xx/wl1251_main.c | 4 ----
1 files changed, 0 insertions(+), 4 deletions(-)
diff --git a/drivers/net/wireless/wl12xx/wl1251_main.c b/drivers/net/wireless/wl12xx/wl1251_main.c
index 50d17fc..2f50a25 100644
--- a/drivers/net/wireless/wl12xx/wl1251_main.c
+++ b/drivers/net/wireless/wl12xx/wl1251_main.c
@@ -629,10 +629,6 @@ static int wl1251_op_config(struct ieee80211_hw *hw, u32 changed)
goto out_sleep;
}
- ret = wl1251_build_null_data(wl);
- if (ret < 0)
- goto out_sleep;
-
if (conf->flags & IEEE80211_CONF_PS && !wl->psm_requested) {
wl1251_debug(DEBUG_PSM, "psm enabled");
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-11-26 9:02 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-11-26 8:55 [PATCH 0/3] wl1251 power save fixes for 2.6.33 Kalle Valo
2009-11-26 8:55 ` [PATCH 1/3] wl1251: remove false warning messages Kalle Valo
2009-11-26 8:56 ` [PATCH 2/3] wl1251: fix bssid handling Kalle Valo
2009-11-26 8:56 ` [PATCH 3/3] wl1251: don't build null data template in wl1251_op_config() Kalle Valo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.