diff options
author | Jouni Malinen <jouni.malinen@atheros.com> | 2011-05-04 01:45:16 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-05-05 14:59:16 -0400 |
commit | 0e579d6a8f4aea346da818f13ee71401c125e639 (patch) | |
tree | 5a4efd3d824f6b246e43e8a8ced4b58494710423 | |
parent | 270e58e8898c8be40451ebee45b6c9b5bd5db04b (diff) |
nl80211: Fix set_key regression with some drivers
Commit dbd2fd656f2060abfd3a16257f8b51ec60f6d2ed added a mechanism for
user space to indicate whether a default key is being configured for
only unicast or only multicast frames instead of all frames. This
commit added a driver capability flag for indicating whether separate
default keys are supported and validation of the set_key command based
on that capability.
However, this single capability flag is not enough to cover possible
difference based on mode (AP/IBSS/STA) and the way this change was
introduced resulted in a regression with drivers that do not indicate
the new capability (i.e.., more or less any non-mac80211 driver using
cfg80211) when using a recent wpa_supplicant snapshot.
Fix the regression by removing the new check which is not strictly
speaking needed. The new separate default key functionality is needed
only for RSN IBSS which has a separate capability indication.
Cc: stable@kernel.org
Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | net/wireless/nl80211.c | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index 0efa7fd01150..ab77f943dc04 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c | |||
@@ -1682,14 +1682,6 @@ static int nl80211_set_key(struct sk_buff *skb, struct genl_info *info) | |||
1682 | if (err) | 1682 | if (err) |
1683 | goto out; | 1683 | goto out; |
1684 | 1684 | ||
1685 | if (!(rdev->wiphy.flags & | ||
1686 | WIPHY_FLAG_SUPPORTS_SEPARATE_DEFAULT_KEYS)) { | ||
1687 | if (!key.def_uni || !key.def_multi) { | ||
1688 | err = -EOPNOTSUPP; | ||
1689 | goto out; | ||
1690 | } | ||
1691 | } | ||
1692 | |||
1693 | err = rdev->ops->set_default_key(&rdev->wiphy, dev, key.idx, | 1685 | err = rdev->ops->set_default_key(&rdev->wiphy, dev, key.idx, |
1694 | key.def_uni, key.def_multi); | 1686 | key.def_uni, key.def_multi); |
1695 | 1687 | ||