diff options
author | Johannes Berg <johannes.berg@intel.com> | 2012-06-27 09:23:48 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-06-27 17:55:11 +0200 |
commit | dfb89c56add259b72a9c68d6b2846c1cd8c4e4b6 (patch) | |
tree | 02a9c8a2995cb7f13b4461837cdf1e14648b1afb /net/wireless/core.c | |
parent | cc45ae547b960b805ee0b201b3807e93a0060472 (diff) | |
download | linux-dfb89c56add259b72a9c68d6b2846c1cd8c4e4b6.tar.gz linux-dfb89c56add259b72a9c68d6b2846c1cd8c4e4b6.tar.bz2 linux-dfb89c56add259b72a9c68d6b2846c1cd8c4e4b6.zip |
cfg80211: don't allow WoWLAN support without CONFIG_PM
When CONFIG_PM is disabled, no device can possibly
support WoWLAN since it can't go to sleep to start
with. Due to this, mac80211 had even rejected the
hardware registration. By making all the code and
data for WoWLAN depend on CONFIG_PM we can promote
this runtime error to a compile-time error.
Add #ifdef around all WoWLAN code to remove it in
systems that don't need it as they never suspend.
Cc: Kalle Valo <kvalo@qca.qualcomm.com>
Acked-by: Luciano Coelho <coelho@ti.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless/core.c')
-rw-r--r-- | net/wireless/core.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/wireless/core.c b/net/wireless/core.c index 907f62c80e28..ddd32afa5f0a 100644 --- a/net/wireless/core.c +++ b/net/wireless/core.c @@ -421,9 +421,11 @@ int wiphy_register(struct wiphy *wiphy) int i; u16 ifmodes = wiphy->interface_modes; +#ifdef CONFIG_PM if (WARN_ON((wiphy->wowlan.flags & WIPHY_WOWLAN_GTK_REKEY_FAILURE) && !(wiphy->wowlan.flags & WIPHY_WOWLAN_SUPPORTS_GTK_REKEY))) return -EINVAL; +#endif if (WARN_ON(wiphy->ap_sme_capa && !(wiphy->flags & WIPHY_FLAG_HAVE_AP_SME))) @@ -500,12 +502,14 @@ int wiphy_register(struct wiphy *wiphy) return -EINVAL; } +#ifdef CONFIG_PM if (rdev->wiphy.wowlan.n_patterns) { if (WARN_ON(!rdev->wiphy.wowlan.pattern_min_len || rdev->wiphy.wowlan.pattern_min_len > rdev->wiphy.wowlan.pattern_max_len)) return -EINVAL; } +#endif /* check and set up bitrates */ ieee80211_set_bitrate_flags(wiphy); |