* [PATCH 1/2] mac80211: inform the offchannel status to AP if no powersave
@ 2012-03-26 15:23 Rajkumar Manoharan
0 siblings, 0 replies; 6+ messages in thread
From: Rajkumar Manoharan @ 2012-03-26 15:23 UTC (permalink / raw)
To: linville; +Cc: linux-wireless, Rajkumar Manoharan
The station has to inform the offchannel status to the assiociated AP
while switching b/w oper and off-channel. The station uses pspoll to
fetch the buffered data from the AP and the pspoll frame can only be
used when the powersave is enabled. For non-PS case, the station has
to use nullfunc frame notification. Fix that.
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
---
net/mac80211/offchannel.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/mac80211/offchannel.c b/net/mac80211/offchannel.c
index f054e94..f7aedfc 100644
--- a/net/mac80211/offchannel.c
+++ b/net/mac80211/offchannel.c
@@ -129,7 +129,7 @@ void ieee80211_offchannel_stop_vifs(struct ieee80211_local *local,
if (sdata->vif.type != NL80211_IFTYPE_MONITOR) {
netif_tx_stop_all_queues(sdata->dev);
- if (offchannel_ps_enable &&
+ if ((offchannel_ps_enable || !sdata->u.mgd.powersave) &&
(sdata->vif.type == NL80211_IFTYPE_STATION) &&
sdata->u.mgd.associated)
ieee80211_offchannel_ps_enable(sdata, true);
@@ -152,7 +152,7 @@ void ieee80211_offchannel_return(struct ieee80211_local *local,
continue;
/* Tell AP we're back */
- if (offchannel_ps_disable &&
+ if ((offchannel_ps_disable || !sdata->u.mgd.powersave) &&
sdata->vif.type == NL80211_IFTYPE_STATION) {
if (sdata->u.mgd.associated)
ieee80211_offchannel_ps_disable(sdata);
--
1.7.9.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 1/2] mac80211: inform the offchannel status to AP if no powersave
@ 2012-03-26 15:23 Rajkumar Manoharan
2012-03-26 15:23 ` [PATCH 2/2] mac80211: fix oper channel timestamp updation Rajkumar Manoharan
2012-03-26 16:09 ` [PATCH 1/2] mac80211: inform the offchannel status to AP if no powersave Johannes Berg
0 siblings, 2 replies; 6+ messages in thread
From: Rajkumar Manoharan @ 2012-03-26 15:23 UTC (permalink / raw)
To: johannes; +Cc: linville, linux-wireless, Rajkumar Manoharan
The station has to inform the offchannel status to the assiociated AP
while switching b/w oper and off-channel. The station uses pspoll to
fetch the buffered data from the AP and the pspoll frame can only be
used when the powersave is enabled. For non-PS case, the station has
to use nullfunc frame notification. Fix that.
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
---
net/mac80211/offchannel.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/mac80211/offchannel.c b/net/mac80211/offchannel.c
index f054e94..f7aedfc 100644
--- a/net/mac80211/offchannel.c
+++ b/net/mac80211/offchannel.c
@@ -129,7 +129,7 @@ void ieee80211_offchannel_stop_vifs(struct ieee80211_local *local,
if (sdata->vif.type != NL80211_IFTYPE_MONITOR) {
netif_tx_stop_all_queues(sdata->dev);
- if (offchannel_ps_enable &&
+ if ((offchannel_ps_enable || !sdata->u.mgd.powersave) &&
(sdata->vif.type == NL80211_IFTYPE_STATION) &&
sdata->u.mgd.associated)
ieee80211_offchannel_ps_enable(sdata, true);
@@ -152,7 +152,7 @@ void ieee80211_offchannel_return(struct ieee80211_local *local,
continue;
/* Tell AP we're back */
- if (offchannel_ps_disable &&
+ if ((offchannel_ps_disable || !sdata->u.mgd.powersave) &&
sdata->vif.type == NL80211_IFTYPE_STATION) {
if (sdata->u.mgd.associated)
ieee80211_offchannel_ps_disable(sdata);
--
1.7.9.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] mac80211: fix oper channel timestamp updation
2012-03-26 15:23 [PATCH 1/2] mac80211: inform the offchannel status to AP if no powersave Rajkumar Manoharan
@ 2012-03-26 15:23 ` Rajkumar Manoharan
2012-03-26 16:09 ` Johannes Berg
2012-03-26 16:09 ` [PATCH 1/2] mac80211: inform the offchannel status to AP if no powersave Johannes Berg
1 sibling, 1 reply; 6+ messages in thread
From: Rajkumar Manoharan @ 2012-03-26 15:23 UTC (permalink / raw)
To: johannes; +Cc: linville, linux-wireless, Rajkumar Manoharan
At the start of scan, mac80211 stop all vif transmission and inform the
AP that the station is leaving the operating channel. But it is not
updating the leave_oper_channel timestamp. As the result, the scan
decision always set operating channel at the scan start when the listen
interval is reduced.
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
---
net/mac80211/scan.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/mac80211/scan.c b/net/mac80211/scan.c
index 33cd169..c70e176 100644
--- a/net/mac80211/scan.c
+++ b/net/mac80211/scan.c
@@ -370,7 +370,7 @@ static int ieee80211_start_sw_scan(struct ieee80211_local *local)
*/
drv_sw_scan_start(local);
- local->leave_oper_channel_time = 0;
+ local->leave_oper_channel_time = jiffies;
local->next_scan_state = SCAN_DECISION;
local->scan_channel_idx = 0;
--
1.7.9.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] mac80211: inform the offchannel status to AP if no powersave
2012-03-26 15:23 [PATCH 1/2] mac80211: inform the offchannel status to AP if no powersave Rajkumar Manoharan
2012-03-26 15:23 ` [PATCH 2/2] mac80211: fix oper channel timestamp updation Rajkumar Manoharan
@ 2012-03-26 16:09 ` Johannes Berg
1 sibling, 0 replies; 6+ messages in thread
From: Johannes Berg @ 2012-03-26 16:09 UTC (permalink / raw)
To: Rajkumar Manoharan; +Cc: linville, linux-wireless
On Mon, 2012-03-26 at 20:53 +0530, Rajkumar Manoharan wrote:
> The station has to inform the offchannel status to the assiociated AP
> while switching b/w oper and off-channel. The station uses pspoll to
Gee, ok, I thought you meant "bandwidth", not "between". Might be worth
not being so lazy in the commit log ...
> fetch the buffered data from the AP and the pspoll frame can only be
> used when the powersave is enabled. For non-PS case, the station has
> to use nullfunc frame notification. Fix that.
>
> Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
> ---
> net/mac80211/offchannel.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/net/mac80211/offchannel.c b/net/mac80211/offchannel.c
> index f054e94..f7aedfc 100644
> --- a/net/mac80211/offchannel.c
> +++ b/net/mac80211/offchannel.c
> @@ -129,7 +129,7 @@ void ieee80211_offchannel_stop_vifs(struct ieee80211_local *local,
>
> if (sdata->vif.type != NL80211_IFTYPE_MONITOR) {
> netif_tx_stop_all_queues(sdata->dev);
> - if (offchannel_ps_enable &&
> + if ((offchannel_ps_enable || !sdata->u.mgd.powersave) &&
I'm not sure I like evaluating u.mgd.powersave before we even know it's
a managed interface ... not a huge issue though.
> (sdata->vif.type == NL80211_IFTYPE_STATION) &&
> sdata->u.mgd.associated)
> ieee80211_offchannel_ps_enable(sdata, true);
> @@ -152,7 +152,7 @@ void ieee80211_offchannel_return(struct ieee80211_local *local,
> continue;
>
> /* Tell AP we're back */
> - if (offchannel_ps_disable &&
> + if ((offchannel_ps_disable || !sdata->u.mgd.powersave) &&
> sdata->vif.type == NL80211_IFTYPE_STATION) {
> if (sdata->u.mgd.associated)
> ieee80211_offchannel_ps_disable(sdata);
Overall though I don't get it. u.mgd.powersave has nothing to do with
the current powersave state at all, it's just whether cfg80211 requested
powersave mode or not -- so NACK.
johannes
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] mac80211: fix oper channel timestamp updation
2012-03-26 15:23 ` [PATCH 2/2] mac80211: fix oper channel timestamp updation Rajkumar Manoharan
@ 2012-03-26 16:09 ` Johannes Berg
2012-03-26 21:37 ` Helmut Schaa
0 siblings, 1 reply; 6+ messages in thread
From: Johannes Berg @ 2012-03-26 16:09 UTC (permalink / raw)
To: Rajkumar Manoharan; +Cc: linville, linux-wireless, Helmut Schaa
On Mon, 2012-03-26 at 20:53 +0530, Rajkumar Manoharan wrote:
> At the start of scan, mac80211 stop all vif transmission and inform the
> AP that the station is leaving the operating channel. But it is not
> updating the leave_oper_channel timestamp. As the result, the scan
> decision always set operating channel at the scan start when the listen
> interval is reduced.
Could use a better description, but seems OK, Helmut?
johannes
> Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
> ---
> net/mac80211/scan.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/mac80211/scan.c b/net/mac80211/scan.c
> index 33cd169..c70e176 100644
> --- a/net/mac80211/scan.c
> +++ b/net/mac80211/scan.c
> @@ -370,7 +370,7 @@ static int ieee80211_start_sw_scan(struct ieee80211_local *local)
> */
> drv_sw_scan_start(local);
>
> - local->leave_oper_channel_time = 0;
> + local->leave_oper_channel_time = jiffies;
> local->next_scan_state = SCAN_DECISION;
> local->scan_channel_idx = 0;
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Re: [PATCH 2/2] mac80211: fix oper channel timestamp updation
2012-03-26 16:09 ` Johannes Berg
@ 2012-03-26 21:37 ` Helmut Schaa
0 siblings, 0 replies; 6+ messages in thread
From: Helmut Schaa @ 2012-03-26 21:37 UTC (permalink / raw)
To: Johannes Berg; +Cc: Rajkumar Manoharan, linville, linux-wireless
On Monday, March 26, 2012 06:09:37 PM Johannes Berg wrote:
> On Mon, 2012-03-26 at 20:53 +0530, Rajkumar Manoharan wrote:
> > At the start of scan, mac80211 stop all vif transmission and inform the
> > AP that the station is leaving the operating channel. But it is not
> > updating the leave_oper_channel timestamp. As the result, the scan
> > decision always set operating channel at the scan start when the listen
> > interval is reduced.
>
> Could use a better description, but seems OK, Helmut?
Yep, the recent restructuring in the scan code changed some parts. Hence,
this change makes sense to me. However, as Johannes already pointed out the
description could be a bit more precise.
Thanks,
Helmut
> johannes
>
> > Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
> > ---
> > net/mac80211/scan.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/net/mac80211/scan.c b/net/mac80211/scan.c
> > index 33cd169..c70e176 100644
> > --- a/net/mac80211/scan.c
> > +++ b/net/mac80211/scan.c
> > @@ -370,7 +370,7 @@ static int ieee80211_start_sw_scan(struct ieee80211_local *local)
> > */
> > drv_sw_scan_start(local);
> >
> > - local->leave_oper_channel_time = 0;
> > + local->leave_oper_channel_time = jiffies;
> > local->next_scan_state = SCAN_DECISION;
> > local->scan_channel_idx = 0;
> >
>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2012-03-26 21:39 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-26 15:23 [PATCH 1/2] mac80211: inform the offchannel status to AP if no powersave Rajkumar Manoharan
2012-03-26 15:23 ` [PATCH 2/2] mac80211: fix oper channel timestamp updation Rajkumar Manoharan
2012-03-26 16:09 ` Johannes Berg
2012-03-26 21:37 ` Helmut Schaa
2012-03-26 16:09 ` [PATCH 1/2] mac80211: inform the offchannel status to AP if no powersave Johannes Berg
-- strict thread matches above, loose matches on Subject: below --
2012-03-26 15:23 Rajkumar Manoharan
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).