* [RFC] mac80211: fix scan state machine
@ 2011-12-21 14:51 Mohammed Shafi Shajakhan
2011-12-21 14:54 ` Mohammed Shafi Shajakhan
2011-12-21 15:31 ` Helmut Schaa
0 siblings, 2 replies; 4+ messages in thread
From: Mohammed Shafi Shajakhan @ 2011-12-21 14:51 UTC (permalink / raw)
To: Johannes Berg; +Cc: John W. Linville, linux-wireless, Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
when we run high bandwidth UDP traffic and we trigger a scan, the scan
state machine seems to be looping in SUSPEND->RESUME->DECISION->SUSPEND
and SET_CHANNEL seems to be never called as 'tx_empty' is never true
while running UDP traffic. fix this by settting SET_CHANNEL state when
we get into RESUME state.
Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
---
net/mac80211/scan.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/net/mac80211/scan.c b/net/mac80211/scan.c
index 2c5041c..2908e56 100644
--- a/net/mac80211/scan.c
+++ b/net/mac80211/scan.c
@@ -625,7 +625,7 @@ static void ieee80211_scan_state_resume(struct ieee80211_local *local,
local->leave_oper_channel_time = jiffies;
/* advance to the next channel to be scanned */
- local->next_scan_state = SCAN_DECISION;
+ local->next_scan_state = SCAN_SET_CHANNEL;
}
void ieee80211_scan_work(struct work_struct *work)
--
1.7.0.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [RFC] mac80211: fix scan state machine
2011-12-21 14:51 [RFC] mac80211: fix scan state machine Mohammed Shafi Shajakhan
@ 2011-12-21 14:54 ` Mohammed Shafi Shajakhan
2011-12-21 15:31 ` Helmut Schaa
1 sibling, 0 replies; 4+ messages in thread
From: Mohammed Shafi Shajakhan @ 2011-12-21 14:54 UTC (permalink / raw)
To: Johannes Berg; +Cc: Mohammed Shafi Shajakhan, John W. Linville, linux-wireless
On Wednesday 21 December 2011 08:21 PM, Mohammed Shafi Shajakhan wrote:
> From: Mohammed Shafi Shajakhan<mohammed@qca.qualcomm.com>
>
> when we run high bandwidth UDP traffic and we trigger a scan, the scan
> state machine seems to be looping in SUSPEND->RESUME->DECISION->SUSPEND
> and SET_CHANNEL seems to be never called as 'tx_empty' is never true
> while running UDP traffic. fix this by settting SET_CHANNEL state when
> we get into RESUME state.
Hi johannes,
i am not completely familiar with the scan state machine. used some
previous before some of your latest changes in scan state machine and
found this might help. please let me know if this does not helps
something. thank you!
>
> Signed-off-by: Mohammed Shafi Shajakhan<mohammed@qca.qualcomm.com>
> ---
> net/mac80211/scan.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/net/mac80211/scan.c b/net/mac80211/scan.c
> index 2c5041c..2908e56 100644
> --- a/net/mac80211/scan.c
> +++ b/net/mac80211/scan.c
> @@ -625,7 +625,7 @@ static void ieee80211_scan_state_resume(struct ieee80211_local *local,
> local->leave_oper_channel_time = jiffies;
>
> /* advance to the next channel to be scanned */
> - local->next_scan_state = SCAN_DECISION;
> + local->next_scan_state = SCAN_SET_CHANNEL;
> }
>
> void ieee80211_scan_work(struct work_struct *work)
--
thanks,
shafi
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [RFC] mac80211: fix scan state machine
2011-12-21 14:51 [RFC] mac80211: fix scan state machine Mohammed Shafi Shajakhan
2011-12-21 14:54 ` Mohammed Shafi Shajakhan
@ 2011-12-21 15:31 ` Helmut Schaa
2011-12-21 15:37 ` Mohammed Shafi Shajakhan
1 sibling, 1 reply; 4+ messages in thread
From: Helmut Schaa @ 2011-12-21 15:31 UTC (permalink / raw)
To: Mohammed Shafi Shajakhan; +Cc: Johannes Berg, John W. Linville, linux-wireless
Hi,
On Wed, Dec 21, 2011 at 3:51 PM, Mohammed Shafi Shajakhan
<mohammed@qca.qualcomm.com> wrote:
> From: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
>
> when we run high bandwidth UDP traffic and we trigger a scan, the scan
> state machine seems to be looping in SUSPEND->RESUME->DECISION->SUSPEND
> and SET_CHANNEL seems to be never called as 'tx_empty' is never true
> while running UDP traffic. fix this by settting SET_CHANNEL state when
> we get into RESUME state.
Your analysis looks correct to me. Previously (before the
simplification patches)
the logic to always scan at least one channel was put in scan_state_decision but
maybe it makes sense to have it in scan_state_resume.
So, to me the patch looks good.
Helmut
> Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
> ---
> net/mac80211/scan.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/net/mac80211/scan.c b/net/mac80211/scan.c
> index 2c5041c..2908e56 100644
> --- a/net/mac80211/scan.c
> +++ b/net/mac80211/scan.c
> @@ -625,7 +625,7 @@ static void ieee80211_scan_state_resume(struct ieee80211_local *local,
> local->leave_oper_channel_time = jiffies;
>
> /* advance to the next channel to be scanned */
> - local->next_scan_state = SCAN_DECISION;
> + local->next_scan_state = SCAN_SET_CHANNEL;
> }
>
> void ieee80211_scan_work(struct work_struct *work)
> --
> 1.7.0.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [RFC] mac80211: fix scan state machine
2011-12-21 15:31 ` Helmut Schaa
@ 2011-12-21 15:37 ` Mohammed Shafi Shajakhan
0 siblings, 0 replies; 4+ messages in thread
From: Mohammed Shafi Shajakhan @ 2011-12-21 15:37 UTC (permalink / raw)
To: Helmut Schaa; +Cc: Johannes Berg, John W. Linville, linux-wireless
On Wednesday 21 December 2011 09:01 PM, Helmut Schaa wrote:
> Hi,
Hi Helmut,
>
> On Wed, Dec 21, 2011 at 3:51 PM, Mohammed Shafi Shajakhan
> <mohammed@qca.qualcomm.com> wrote:
>> From: Mohammed Shafi Shajakhan<mohammed@qca.qualcomm.com>
>>
>> when we run high bandwidth UDP traffic and we trigger a scan, the scan
>> state machine seems to be looping in SUSPEND->RESUME->DECISION->SUSPEND
>> and SET_CHANNEL seems to be never called as 'tx_empty' is never true
>> while running UDP traffic. fix this by settting SET_CHANNEL state when
>> we get into RESUME state.
>
> Your analysis looks correct to me. Previously (before the
> simplification patches)
> the logic to always scan at least one channel was put in scan_state_decision but
> maybe it makes sense to have it in scan_state_resume.
thanks for the review.
i compared "ieee80211_scan_state_resume" with the older code's
"ieee80211_scan_state_leave_oper_channel"
>
> So, to me the patch looks good.
>
> Helmut
>
--
thanks,
shafi
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-12-21 15:37 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-21 14:51 [RFC] mac80211: fix scan state machine Mohammed Shafi Shajakhan
2011-12-21 14:54 ` Mohammed Shafi Shajakhan
2011-12-21 15:31 ` Helmut Schaa
2011-12-21 15:37 ` Mohammed Shafi Shajakhan
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).