iwlwifi: mvm: add WEP RX hardware offload support
authorJohannes Berg <johannes.berg@intel.com>
Wed, 12 Nov 2014 22:54:48 +0000 (23:54 +0100)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Mon, 24 Nov 2014 06:30:16 +0000 (08:30 +0200)
commitba3943b094434ac8e2074bd159c2734e8cc47511
tree3dd228d5f7a776bd2c0bea3ca82dadf310c93f2c
parent2f6319d1cf5df2bc01637496296d755e3312c030
iwlwifi: mvm: add WEP RX hardware offload support

In the original driver, we decided to not implement WEP RX hardware
offload because of a quirk with the firmware API - it allows setting
global WEP keys that then get used for all virtual interfaces, which
is clearly wrong if more than one exists, and it allows setting per-
station keys but then separates multicast and unicast keys.

In order to implement WEP RX hardware offload, work around these
limitations by uploading each WEP key twice, once as multicast and
once as unicast, but point them both to the same key slot (offset)
and use the same key material so the slot overwrite on the second
upload doesn't actually change anything. Upon removal, also remove
the key twice so the station no longer references it.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
drivers/net/wireless/iwlwifi/mvm/mac80211.c
drivers/net/wireless/iwlwifi/mvm/sta.c