linux/drivers/net/wireless
Luca Coelho d6ee54a9d7 iwlwifi: mvm: don't overwrite the key indices in D3 entry
When entering D3, we need to use hardcoded key indices because the
firmware requires that.  To do so, we are overwriting the HW key index
in the keyconf structure, which makes it impossible to reuse the
indices that were used before entering D3.  Additionally, we overwrite
all the non-PTK keys with index 1, because the firmware only allows
one non-PTK key to be set.  This is bad, because when we resume, we
may try to set more than one key with index 1, which will obviously
fail.

To fix this, allow the callers to set a pre-defined index to use in
iwl_mvm_set_sta_key() instead of relying on the hw_key_idx value from
the keyconf struct (which requires overwriting it).  In normal cases,
the caller can pass STA_KEY_IDX_INVALID, which will cause a new key
offset to be chosen.  During HW_RESTART, we pass the offset that is in
use.  And during D3 entry, we pass the hardcoded indices we need to
use.

Additionally, don't clear the fw_key_table in D3 entry, so that the
flags are still set with the pre-D3 values when exiting D3.

fixes=I3165c22362483f0152d9ec1d2a987fb5529727c1

Fixes: b546dcd6b7 ("iwlwifi: mvm: don't reset key index on HW restart")
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2015-11-15 21:18:00 +02:00
..
ath ath6kl: implement ethtool stats 2015-10-29 13:07:00 +02:00
b43 ssb: pick PCMCIA host code support from b43 driver 2015-10-28 21:04:04 +02:00
b43legacy mac80211: convert HW flags to unsigned long bitmap 2015-06-10 16:05:36 +02:00
brcm80211 brcm80211: Add support for brcm4371 2015-10-21 10:57:44 +03:00
cw1200 mac80211: allow to transmit A-MSDU within A-MPDU 2015-09-22 15:21:23 +02:00
hostap net: hostap: convert to using IFF_NO_QUEUE 2015-08-18 11:55:07 -07:00
ipw2x00 drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
iwlegacy mac80211: allow to transmit A-MSDU within A-MPDU 2015-09-22 15:21:23 +02:00
iwlwifi iwlwifi: mvm: don't overwrite the key indices in D3 entry 2015-11-15 21:18:00 +02:00
libertas cfg80211: properly send NL80211_ATTR_DISCONNECTED_BY_AP in disconnect 2015-05-26 15:21:27 +02:00
libertas_tf Minor merge needed, due to function move. 2015-07-01 10:49:25 -07:00
mediatek mac80211: allow to transmit A-MSDU within A-MPDU 2015-09-22 15:21:23 +02:00
mwifiex mwifiex: toggle carrier state in start_ap/stop_ap. 2015-10-28 21:00:01 +02:00
orinoco orinoco_usb: return error in ezusb_probe when alloc_orinocodev fails 2015-10-28 20:55:47 +02:00
p54 mac80211: convert HW flags to unsigned long bitmap 2015-06-10 16:05:36 +02:00
prism54
realtek brcmfmac 2015-10-27 19:56:56 -07:00
rsi mac80211: allow to transmit A-MSDU within A-MPDU 2015-09-22 15:21:23 +02:00
rt2x00 Here's another set of patches for the current cycle: 2015-10-22 07:28:41 -07:00
ti cfg80211: Add multiple scan plans for scheduled scan 2015-10-13 10:35:26 +02:00
zd1211rw mac80211: convert HW flags to unsigned long bitmap 2015-06-10 16:05:36 +02:00
adm8211.c mac80211: convert HW flags to unsigned long bitmap 2015-06-10 16:05:36 +02:00
adm8211.h
airo_cs.c
airo.c airo: fix scan after SIOCSIWAP (airo_set_wap) 2015-10-28 20:54:39 +02:00
airo.h
at76c50x-usb.c mac80211: convert HW flags to unsigned long bitmap 2015-06-10 16:05:36 +02:00
at76c50x-usb.h mac80211: remove support for IFF_PROMISC 2015-04-24 11:14:13 +02:00
atmel_cs.c
atmel_pci.c
atmel.c wireless: Use eth_<foo>_addr instead of memset 2015-03-03 17:01:36 -05:00
atmel.h
Kconfig New driver: rtl8xxxu (mac80211) 2015-10-21 10:53:29 +03:00
mac80211_hwsim.c For the current cycle, we have the following right now: 2015-10-07 04:29:18 -07:00
mac80211_hwsim.h
Makefile rtlwifi: rtl818x: Move drivers into new realtek directory 2015-10-14 13:33:10 +03:00
mwl8k.c mac80211: allow to transmit A-MSDU within A-MPDU 2015-09-22 15:21:23 +02:00
ray_cs.c ray_cs: Change 1 to true for bool type variable. 2015-06-02 23:30:14 +03:00
ray_cs.h
rayctl.h
rndis_wlan.c rndis_wlan: fix checking for default value 2015-09-22 16:14:32 -07:00
wl3501_cs.c
wl3501.h
zd1201.c
zd1201.h