linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/3] wlcore: flush tx on CHANGE_CHANNEL
@ 2012-05-15 13:46 Arik Nemtsov
  2012-05-15 13:46 ` [PATCH v2 2/3] wlcore: increase WL1271_EVENT_TIMEOUT Arik Nemtsov
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Arik Nemtsov @ 2012-05-15 13:46 UTC (permalink / raw)
  To: linux-wireless; +Cc: Luciano Coelho, Eliad Peller, Arik Nemtsov

From: Eliad Peller <eliad@wizery.com>

On CHANGE_CHANNEL indication, we should flush all the
queued tx frames, so they will be sent on the correct
(current) channel.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Arik Nemtsov <arik@wizery.com>
---
v1->2: added SOB tag by eliad

 drivers/net/wireless/ti/wlcore/main.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c
index ebbedbf..4e71078 100644
--- a/drivers/net/wireless/ti/wlcore/main.c
+++ b/drivers/net/wireless/ti/wlcore/main.c
@@ -2553,8 +2553,9 @@ static int wl1271_op_config(struct ieee80211_hw *hw, u32 changed)
 	 * frames, such as the deauth. To make sure those frames reach the air,
 	 * wait here until the TX queue is fully flushed.
 	 */
-	if ((changed & IEEE80211_CONF_CHANGE_IDLE) &&
-	    (conf->flags & IEEE80211_CONF_IDLE))
+	if ((changed & IEEE80211_CONF_CHANGE_CHANNEL) ||
+	    ((changed & IEEE80211_CONF_CHANGE_IDLE) &&
+	     (conf->flags & IEEE80211_CONF_IDLE)))
 		wl1271_tx_flush(wl);
 
 	mutex_lock(&wl->mutex);
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v2 2/3] wlcore: increase WL1271_EVENT_TIMEOUT
  2012-05-15 13:46 [PATCH v2 1/3] wlcore: flush tx on CHANGE_CHANNEL Arik Nemtsov
@ 2012-05-15 13:46 ` Arik Nemtsov
  2012-05-15 13:46 ` [PATCH v2 3/3] wlcore: remove duplicate BUG_ON during recovery Arik Nemtsov
  2012-06-06  8:19 ` [PATCH v2 1/3] wlcore: flush tx on CHANGE_CHANNEL Luciano Coelho
  2 siblings, 0 replies; 4+ messages in thread
From: Arik Nemtsov @ 2012-05-15 13:46 UTC (permalink / raw)
  To: linux-wireless; +Cc: Luciano Coelho, Eliad Peller, Arik Nemtsov

From: Eliad Peller <eliad@wizery.com>

In some cases, the ROC_COMPLETE event might exceed the
current timeout (750 msec). Increase it to 1 sec.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Arik Nemtsov <arik@wizery.com>
---
 drivers/net/wireless/ti/wlcore/cmd.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ti/wlcore/cmd.h b/drivers/net/wireless/ti/wlcore/cmd.h
index 2aafe3d..85171f2 100644
--- a/drivers/net/wireless/ti/wlcore/cmd.h
+++ b/drivers/net/wireless/ti/wlcore/cmd.h
@@ -192,7 +192,7 @@ enum cmd_templ {
 #define WL1271_COMMAND_TIMEOUT     2000
 #define WL1271_CMD_TEMPL_DFLT_SIZE 252
 #define WL1271_CMD_TEMPL_MAX_SIZE  512
-#define WL1271_EVENT_TIMEOUT       750
+#define WL1271_EVENT_TIMEOUT       1000
 
 struct wl1271_cmd_header {
 	__le16 id;
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v2 3/3] wlcore: remove duplicate BUG_ON during recovery
  2012-05-15 13:46 [PATCH v2 1/3] wlcore: flush tx on CHANGE_CHANNEL Arik Nemtsov
  2012-05-15 13:46 ` [PATCH v2 2/3] wlcore: increase WL1271_EVENT_TIMEOUT Arik Nemtsov
@ 2012-05-15 13:46 ` Arik Nemtsov
  2012-06-06  8:19 ` [PATCH v2 1/3] wlcore: flush tx on CHANGE_CHANNEL Luciano Coelho
  2 siblings, 0 replies; 4+ messages in thread
From: Arik Nemtsov @ 2012-05-15 13:46 UTC (permalink / raw)
  To: linux-wireless; +Cc: Luciano Coelho, Arik Nemtsov

This BUG_ON also ignored the INTENDED_FW_RECOVERY flag. This would
result in a BUG() when using the bug_on_recovery module parameter during
multi-role.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
---
 drivers/net/wireless/ti/wlcore/main.c |    2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c
index 4e71078..f4b036e 100644
--- a/drivers/net/wireless/ti/wlcore/main.c
+++ b/drivers/net/wireless/ti/wlcore/main.c
@@ -852,8 +852,6 @@ static void wl1271_recovery_work(struct work_struct *work)
 		goto out_unlock;
 	}
 
-	BUG_ON(bug_on_recovery);
-
 	/*
 	 * Advance security sequence number to overcome potential progress
 	 * in the firmware during recovery. This doens't hurt if the network is
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2 1/3] wlcore: flush tx on CHANGE_CHANNEL
  2012-05-15 13:46 [PATCH v2 1/3] wlcore: flush tx on CHANGE_CHANNEL Arik Nemtsov
  2012-05-15 13:46 ` [PATCH v2 2/3] wlcore: increase WL1271_EVENT_TIMEOUT Arik Nemtsov
  2012-05-15 13:46 ` [PATCH v2 3/3] wlcore: remove duplicate BUG_ON during recovery Arik Nemtsov
@ 2012-06-06  8:19 ` Luciano Coelho
  2 siblings, 0 replies; 4+ messages in thread
From: Luciano Coelho @ 2012-06-06  8:19 UTC (permalink / raw)
  To: Arik Nemtsov; +Cc: linux-wireless, Eliad Peller

On Tue, 2012-05-15 at 16:46 +0300, Arik Nemtsov wrote:
> From: Eliad Peller <eliad@wizery.com>
> 
> On CHANGE_CHANNEL indication, we should flush all the
> queued tx frames, so they will be sent on the correct
> (current) channel.
> 
> Signed-off-by: Eliad Peller <eliad@wizery.com>
> Signed-off-by: Arik Nemtsov <arik@wizery.com>
> ---
> v1->2: added SOB tag by eliad

Applied and pushed this set, thanks!

--
Luca.


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-06-06  8:27 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-15 13:46 [PATCH v2 1/3] wlcore: flush tx on CHANGE_CHANNEL Arik Nemtsov
2012-05-15 13:46 ` [PATCH v2 2/3] wlcore: increase WL1271_EVENT_TIMEOUT Arik Nemtsov
2012-05-15 13:46 ` [PATCH v2 3/3] wlcore: remove duplicate BUG_ON during recovery Arik Nemtsov
2012-06-06  8:19 ` [PATCH v2 1/3] wlcore: flush tx on CHANGE_CHANNEL Luciano Coelho

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).