Search Linux Wireless

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

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

 



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.

> +++ 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? :)

> +#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??

> +	list_for_each_entry(sdata, &local->interfaces, list) {

locking?

> +	if (ps_sdata) {
> +		struct ieee80211_vif *vif = &sdata->vif;

add a newline here please

> +static void __ieee80211_vif_set_ps_mode(struct ieee80211_sub_if_data *sdata,
> +					enum ieee80211_vif_ps_mode mode)
> +{
> +	struct ieee80211_local *local = sdata->local;
> +
> +	if (WARN_ON_ONCE(sdata->vif.type == NL80211_IFTYPE_MONITOR))
> +		return;
> +
> +	switch (mode) {
> +	case IEEE80211_VIF_PS_INACTIVE:
> +	case IEEE80211_VIF_PS_DOZE:
> +		if (sdata->vif.ps_mode > IEEE80211_VIF_PS_DOZE &&
> +		    !WARN_ON(local->awake_cnt <= 0))
> +			local->awake_cnt--;

locking?

johannes

--
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