Search Linux Wireless

Re: [RFC 1/3] mac80211: Add flushes to ensure off-channel PS is enabled during sw scans

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jan 17, 2013 at 12:34:14AM +0100, Johannes Berg wrote:
> On Tue, 2013-01-08 at 12:10 -0600, Seth Forshee wrote:
> 
> > +++ b/net/mac80211/offchannel.c
> > @@ -136,8 +136,23 @@ void ieee80211_offchannel_stop_vifs(struct ieee80211_local *local,
> >  			netif_tx_stop_all_queues(sdata->dev);
> >  			if (offchannel_ps_enable &&
> >  			    (sdata->vif.type == NL80211_IFTYPE_STATION) &&
> > -			    sdata->u.mgd.associated)
> > +			    sdata->u.mgd.associated) {
> > +				/*
> > +				 * Need to flush frames in driver queues
> > +				 * before sending nullfunc. Otherwise
> > +				 * devices which support QoS may send the
> > +				 * nullfunc before these queued frames, and
> > +				 * those frames may not have PM set.
> > +				 *
> > +				 * XXX: Would be nice to not flush for each
> > +				 * vif, however I don't see that there's any
> > +				 * protection to prevent frames being handed
> > +				 * to the driver before stopping the netdev
> > +				 * queue.
> > +				 */
> > +				drv_flush(local, false);
> >  				ieee80211_offchannel_ps_enable(sdata);
> 
> Could we split the loop, and send the frames in a second loop, to
> combine the flushes into a single one?

I started thinking about just that earlier today. Seems like it ought to
be possible.

Seth
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux