diff options
| author | Takashi Iwai <tiwai@suse.de> | 2012-08-03 12:59:38 +0200 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2012-08-03 12:59:38 +0200 |
| commit | d30a0d839a5a282e43353fee53d5dc70db5eceda (patch) | |
| tree | 189a91615be3174a9ff8b20937359d11298433af /drivers/net/wireless/rt2x00/rt2x00mac.c | |
| parent | fcfb7866af9a5d0280b7e51dd772990c636b7dec (diff) | |
| parent | 988aec3de5f0fa848f26fbf64f9e83364d6b3c25 (diff) | |
Merge branch 'topic/next' into for-next
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00mac.c')
| -rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00mac.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00mac.c b/drivers/net/wireless/rt2x00/rt2x00mac.c index dd24b2663b5..4ff26c2159b 100644 --- a/drivers/net/wireless/rt2x00/rt2x00mac.c +++ b/drivers/net/wireless/rt2x00/rt2x00mac.c @@ -506,9 +506,19 @@ int rt2x00mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, if (!test_bit(DEVICE_STATE_PRESENT, &rt2x00dev->flags)) return 0; - else if (!test_bit(CAPABILITY_HW_CRYPTO, &rt2x00dev->cap_flags)) + + if (!test_bit(CAPABILITY_HW_CRYPTO, &rt2x00dev->cap_flags)) + return -EOPNOTSUPP; + + /* + * To support IBSS RSN, don't program group keys in IBSS, the + * hardware will then not attempt to decrypt the frames. + */ + if (vif->type == NL80211_IFTYPE_ADHOC && + !(key->flags & IEEE80211_KEY_FLAG_PAIRWISE)) return -EOPNOTSUPP; - else if (key->keylen > 32) + + if (key->keylen > 32) return -ENOSPC; memset(&crypto, 0, sizeof(crypto)); |
