diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2013-09-17 15:20:13 +0300 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-10-09 18:40:16 +0200 |
commit | f38dd58ccca0d612e62509f75e99952dcf316cb2 (patch) | |
tree | 77cc62c8ef1ab07932f95cf70433e04cded1d13c /net | |
parent | a754055a1296fcbe6f32de3a5eaca6efb2fd1865 (diff) | |
download | linux-stable-f38dd58ccca0d612e62509f75e99952dcf316cb2.tar.gz linux-stable-f38dd58ccca0d612e62509f75e99952dcf316cb2.tar.bz2 linux-stable-f38dd58ccca0d612e62509f75e99952dcf316cb2.zip |
cfg80211: don't add p2p device while in RFKILL
Since P2P device doesn't have a netdev associated to it,
we cannot prevent the user to start it when in RFKILL.
So refuse to even add it when in RFKILL.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/wireless/core.c | 2 | ||||
-rw-r--r-- | net/wireless/core.h | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/net/wireless/core.c b/net/wireless/core.c index fe8d4f2be49b..aff959e5a1b3 100644 --- a/net/wireless/core.c +++ b/net/wireless/core.c @@ -958,8 +958,6 @@ static int cfg80211_netdev_notifier_call(struct notifier_block *nb, case NETDEV_PRE_UP: if (!(wdev->wiphy->interface_modes & BIT(wdev->iftype))) return notifier_from_errno(-EOPNOTSUPP); - if (rfkill_blocked(rdev->rfkill)) - return notifier_from_errno(-ERFKILL); ret = cfg80211_can_add_interface(rdev, wdev->iftype); if (ret) return notifier_from_errno(ret); diff --git a/net/wireless/core.h b/net/wireless/core.h index 9ad43c619c54..3159e9c284c5 100644 --- a/net/wireless/core.h +++ b/net/wireless/core.h @@ -411,6 +411,9 @@ static inline int cfg80211_can_add_interface(struct cfg80211_registered_device *rdev, enum nl80211_iftype iftype) { + if (rfkill_blocked(rdev->rfkill)) + return -ERFKILL; + return cfg80211_can_change_interface(rdev, NULL, iftype); } |