[RFC PATCH 3/8] mac80211: Add powersave module

Seth Forshee seth.forshee at canonical.com
Tue Dec 17 08:31:46 EST 2013


On Tue, Dec 17, 2013 at 09:16:20AM +0100, Johannes Berg wrote:
> On Mon, 2013-12-16 at 16:00 -0600, Seth Forshee wrote:
> 
> > + * When @ps_mode == %IEEE80211_VIF_PS_DOZE or the %IEEE80211_CONF_PS flag is
> > + * set it means that the powersave mode defined in IEEE 802.11-2007 section
> > + * 11.2 is enabled. 
> 
> We might consider updating the references to 802.11-2012 since
> everything shuffled around.

Okay.

> > +++ b/net/mac80211/ieee80211_i.h
> > @@ -1180,6 +1180,7 @@ struct ieee80211_local {
> >  #endif /* CONFIG_MAC80211_DEBUG_COUNTERS */
> >  
> > 
> > +	int awake_cnt;
> 
> How will the locking for this possibly work? :)

Well, I did warn that I still need to look at locking ;-)

Mostly the access is already serialized, either by nature of going
through ieee80211_recalc_ps which already has locking rules or by being
run on the device workqueue. I need to try and grok how all the current
mac80211 locking works and see if I need to add something new.
Suggestions are welcome :-)

> 
> > +#include <linux/nl80211.h>
> > +#include <linux/pm_qos.h>
> > +#include <net/mac80211.h>
> > +#include "ieee80211_i.h"
> > +#include "driver-ops.h"
> > +
> > +/*
> > + * Sets the PS parameters in ieee80211_conf. Uses parameters from the first
> > + * managed interface found which has power save enabled, or failing that
> > + * the parameters from an arbitrary managed interface are used.
> > + */
> > +static void ieee80211_set_ps_params(struct ieee80211_local *local) { struct
> > +	ieee80211_sub_if_data *sdata, *ps_sdata = NULL;
> 
> what happened to indentation here??

Hmm, I don't know. Probably I accidentally hit J in vim a couple of
times and didn't notice.

> > +	if (ps_sdata) {
> > +		struct ieee80211_vif *vif = &sdata->vif;
> 
> add a newline here please

Okay.



More information about the b43-dev mailing list