All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.