diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2009-04-16 07:17:25 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-04-22 16:57:16 -0400 |
commit | 10f644a47b76d3e61b98f2d02ce9690b94c51ee5 (patch) | |
tree | fc344d0f888ea0b97608cd53eec1d2dc17672087 /net/mac80211/ieee80211_i.h | |
parent | 965bedadc01d34027455d5d5b67063ef0209c955 (diff) |
mac80211: disable powersave if pm_qos asks for low latency
When an application asks for a latency lower than the beacon interval
there's nothing we can do -- we need to stay awake and not have the
AP buffer frames for us. Add code to automatically calculate this
constraint in mac80211 so drivers need not concern themselves with it.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r-- | net/mac80211/ieee80211_i.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index ff40dd7b523a..b1d18d967d8c 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
@@ -750,6 +750,7 @@ struct ieee80211_local { | |||
750 | struct work_struct dynamic_ps_enable_work; | 750 | struct work_struct dynamic_ps_enable_work; |
751 | struct work_struct dynamic_ps_disable_work; | 751 | struct work_struct dynamic_ps_disable_work; |
752 | struct timer_list dynamic_ps_timer; | 752 | struct timer_list dynamic_ps_timer; |
753 | struct notifier_block network_latency_notifier; | ||
753 | 754 | ||
754 | int user_power_level; /* in dBm */ | 755 | int user_power_level; /* in dBm */ |
755 | int power_constr_level; /* in dBm */ | 756 | int power_constr_level; /* in dBm */ |
@@ -938,7 +939,9 @@ int ieee80211_sta_deauthenticate(struct ieee80211_sub_if_data *sdata, u16 reason | |||
938 | int ieee80211_sta_disassociate(struct ieee80211_sub_if_data *sdata, u16 reason); | 939 | int ieee80211_sta_disassociate(struct ieee80211_sub_if_data *sdata, u16 reason); |
939 | void ieee80211_send_pspoll(struct ieee80211_local *local, | 940 | void ieee80211_send_pspoll(struct ieee80211_local *local, |
940 | struct ieee80211_sub_if_data *sdata); | 941 | struct ieee80211_sub_if_data *sdata); |
941 | void ieee80211_recalc_ps(struct ieee80211_local *local); | 942 | void ieee80211_recalc_ps(struct ieee80211_local *local, s32 latency); |
943 | int ieee80211_max_network_latency(struct notifier_block *nb, | ||
944 | unsigned long data, void *dummy); | ||
942 | 945 | ||
943 | /* IBSS code */ | 946 | /* IBSS code */ |
944 | int ieee80211_ibss_commit(struct ieee80211_sub_if_data *sdata); | 947 | int ieee80211_ibss_commit(struct ieee80211_sub_if_data *sdata); |