* [PATCH] mac80211: fix delayed ADDBA response
@ 2013-01-08 14:16 Victor Goldenshtein
2013-01-08 17:41 ` Seth Forshee
2013-01-09 12:38 ` Johannes Berg
0 siblings, 2 replies; 8+ messages in thread
From: Victor Goldenshtein @ 2013-01-08 14:16 UTC (permalink / raw)
To: linux-wireless; +Cc: johannes
Block frame processing during scan might delay the
ADDBA response, which eventually timeouts and
significantly reduces the device throughput.
Remove this constrain as it's not required for the
HW scan.
Signed-off-by: Victor Goldenshtein <victorg@ti.com>
---
net/mac80211/iface.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
index 06fac29..a26ee36 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -1063,7 +1063,7 @@ static void ieee80211_iface_work(struct work_struct *work)
if (!ieee80211_sdata_running(sdata))
return;
- if (local->scanning)
+ if (local->scanning && !local->ops->hw_scan)
return;
/*
--
1.7.5.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] mac80211: fix delayed ADDBA response
2013-01-08 14:16 [PATCH] mac80211: fix delayed ADDBA response Victor Goldenshtein
@ 2013-01-08 17:41 ` Seth Forshee
2013-01-09 8:39 ` Victor Goldenshtein
2013-01-09 12:38 ` Johannes Berg
1 sibling, 1 reply; 8+ messages in thread
From: Seth Forshee @ 2013-01-08 17:41 UTC (permalink / raw)
To: Victor Goldenshtein; +Cc: linux-wireless, johannes
On Tue, Jan 08, 2013 at 04:16:37PM +0200, Victor Goldenshtein wrote:
> Block frame processing during scan might delay the
> ADDBA response, which eventually timeouts and
> significantly reduces the device throughput.
> Remove this constrain as it's not required for the
> HW scan.
>
> Signed-off-by: Victor Goldenshtein <victorg@ti.com>
> ---
> net/mac80211/iface.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
> index 06fac29..a26ee36 100644
> --- a/net/mac80211/iface.c
> +++ b/net/mac80211/iface.c
> @@ -1063,7 +1063,7 @@ static void ieee80211_iface_work(struct work_struct *work)
> if (!ieee80211_sdata_running(sdata))
> return;
>
> - if (local->scanning)
> + if (local->scanning && !local->ops->hw_scan)
Wouldn't checking for SCAN_HW_SCANNING be better?
Seth
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] mac80211: fix delayed ADDBA response
2013-01-08 17:41 ` Seth Forshee
@ 2013-01-09 8:39 ` Victor Goldenshtein
0 siblings, 0 replies; 8+ messages in thread
From: Victor Goldenshtein @ 2013-01-09 8:39 UTC (permalink / raw)
To: Seth Forshee; +Cc: linux-wireless, johannes
On 08/01/13 19:41, Seth Forshee wrote:
> On Tue, Jan 08, 2013 at 04:16:37PM +0200, Victor Goldenshtein wrote:
>> Block frame processing during scan might delay the
>> ADDBA response, which eventually timeouts and
>> significantly reduces the device throughput.
>> Remove this constrain as it's not required for the
>> HW scan.
>>
>> Signed-off-by: Victor Goldenshtein<victorg@ti.com>
>> ---
>> net/mac80211/iface.c | 2 +-
>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
>> index 06fac29..a26ee36 100644
>> --- a/net/mac80211/iface.c
>> +++ b/net/mac80211/iface.c
>> @@ -1063,7 +1063,7 @@ static void ieee80211_iface_work(struct work_struct *work)
>> if (!ieee80211_sdata_running(sdata))
>> return;
>>
>> - if (local->scanning)
>> + if (local->scanning&& !local->ops->hw_scan)
>
> Wouldn't checking for SCAN_HW_SCANNING be better?
>
IMHO it's totally the same, besides that mac80211 use this check in many
other places, but lets see what Johannes thinks.
--
Thanks,
Victor.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] mac80211: fix delayed ADDBA response
2013-01-08 14:16 [PATCH] mac80211: fix delayed ADDBA response Victor Goldenshtein
2013-01-08 17:41 ` Seth Forshee
@ 2013-01-09 12:38 ` Johannes Berg
2013-01-09 16:04 ` Victor Goldenshtein
1 sibling, 1 reply; 8+ messages in thread
From: Johannes Berg @ 2013-01-09 12:38 UTC (permalink / raw)
To: Victor Goldenshtein; +Cc: linux-wireless
On Tue, 2013-01-08 at 16:16 +0200, Victor Goldenshtein wrote:
> Block frame processing during scan might delay the
> ADDBA response, which eventually timeouts and
> significantly reduces the device throughput.
> Remove this constrain as it's not required for the
> HW scan.
>
> Signed-off-by: Victor Goldenshtein <victorg@ti.com>
> ---
> net/mac80211/iface.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
> index 06fac29..a26ee36 100644
> --- a/net/mac80211/iface.c
> +++ b/net/mac80211/iface.c
> @@ -1063,7 +1063,7 @@ static void ieee80211_iface_work(struct work_struct *work)
> if (!ieee80211_sdata_running(sdata))
> return;
>
> - if (local->scanning)
> + if (local->scanning && !local->ops->hw_scan)
> return;
Regardless of whether it should check the HW scan flag (I think that'd
be better), this doesn't seem right.
Do we really want to allow arbitrary changes to the interfaces while
scanning? This could process a deauth frame for example, I'm worried
that might break things.
johannes
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] mac80211: fix delayed ADDBA response
2013-01-09 12:38 ` Johannes Berg
@ 2013-01-09 16:04 ` Victor Goldenshtein
2013-01-09 16:32 ` Johannes Berg
0 siblings, 1 reply; 8+ messages in thread
From: Victor Goldenshtein @ 2013-01-09 16:04 UTC (permalink / raw)
To: Johannes Berg; +Cc: linux-wireless
On 09/01/13 14:38, Johannes Berg wrote:
> Do we really want to allow arbitrary changes to the interfaces while
> scanning? This could process a deauth frame for example, I'm worried
> that might break things.
>
Can you please elaborate why we shouldn't process deauth frames during
HW scan ? This fix was tested with our 18xx, don't see how it can break
things, but it's up to you whether to take it..
--
Thanks,
Victor.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] mac80211: fix delayed ADDBA response
2013-01-09 16:04 ` Victor Goldenshtein
@ 2013-01-09 16:32 ` Johannes Berg
2013-01-09 17:25 ` Arik Nemtsov
0 siblings, 1 reply; 8+ messages in thread
From: Johannes Berg @ 2013-01-09 16:32 UTC (permalink / raw)
To: Victor Goldenshtein; +Cc: linux-wireless
On Wed, 2013-01-09 at 18:04 +0200, Victor Goldenshtein wrote:
> On 09/01/13 14:38, Johannes Berg wrote:
> > Do we really want to allow arbitrary changes to the interfaces while
> > scanning? This could process a deauth frame for example, I'm worried
> > that might break things.
> >
>
> Can you please elaborate why we shouldn't process deauth frames during
> HW scan ? This fix was tested with our 18xx, don't see how it can break
> things, but it's up to you whether to take it..
But did you test disassociating in the middle of the scan? I suspect
that some devices at least might have trouble with reprogramming the
device completely while it's scanning.
Maybe you can make this behaviour opt-in with a hardware flag?
johannes
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] mac80211: fix delayed ADDBA response
2013-01-09 16:32 ` Johannes Berg
@ 2013-01-09 17:25 ` Arik Nemtsov
2013-01-09 17:29 ` Johannes Berg
0 siblings, 1 reply; 8+ messages in thread
From: Arik Nemtsov @ 2013-01-09 17:25 UTC (permalink / raw)
To: Victor Goldenshtein, Johannes Berg; +Cc: linux-wireless
On Wed, Jan 9, 2013 at 6:32 PM, Johannes Berg <johannes@sipsolutions.net> wrote:
> On Wed, 2013-01-09 at 18:04 +0200, Victor Goldenshtein wrote:
>> On 09/01/13 14:38, Johannes Berg wrote:
>> > Do we really want to allow arbitrary changes to the interfaces while
>> > scanning? This could process a deauth frame for example, I'm worried
>> > that might break things.
>> >
>>
>> Can you please elaborate why we shouldn't process deauth frames during
>> HW scan ? This fix was tested with our 18xx, don't see how it can break
>> things, but it's up to you whether to take it..
>
> But did you test disassociating in the middle of the scan? I suspect
> that some devices at least might have trouble with reprogramming the
> device completely while it's scanning.
>
> Maybe you can make this behaviour opt-in with a hardware flag?
>
This is just a speed optimization for BA session management, so I'm
pretty sure the above was not tested.
Maybe we can make the "if" stricter and only allow it to pass if it's
hw_scanning and mgmt->u.action.category == WLAN_CATEGORY_BACK ? Would
that make sense?
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] mac80211: fix delayed ADDBA response
2013-01-09 17:25 ` Arik Nemtsov
@ 2013-01-09 17:29 ` Johannes Berg
0 siblings, 0 replies; 8+ messages in thread
From: Johannes Berg @ 2013-01-09 17:29 UTC (permalink / raw)
To: Arik Nemtsov; +Cc: Victor Goldenshtein, linux-wireless
On Wed, 2013-01-09 at 19:25 +0200, Arik Nemtsov wrote:
> This is just a speed optimization for BA session management, so I'm
> pretty sure the above was not tested.
>
> Maybe we can make the "if" stricter and only allow it to pass if it's
> hw_scanning and mgmt->u.action.category == WLAN_CATEGORY_BACK ? Would
> that make sense?
Yeah that's the other option -- making the processing loop more
selective. That's more complex, but should work better.
johannes
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-01-09 17:29 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-08 14:16 [PATCH] mac80211: fix delayed ADDBA response Victor Goldenshtein
2013-01-08 17:41 ` Seth Forshee
2013-01-09 8:39 ` Victor Goldenshtein
2013-01-09 12:38 ` Johannes Berg
2013-01-09 16:04 ` Victor Goldenshtein
2013-01-09 16:32 ` Johannes Berg
2013-01-09 17:25 ` Arik Nemtsov
2013-01-09 17:29 ` Johannes Berg
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).