Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

wifi: wlcore: Add support for IGTK key

This change re-applies commit 2b7aadd3b9e1 ("wlcore: Adding suppoprt for IGTK key in
wlcore driver") (sic), but only enables WLAN_CIPHER_SUITE_AES_CMAC with modern
firmware. This patch is required to support WPA3 connections.

Signed-off-by: Peter Åstrand <astrand@lysator.liu.se>
Link: https://patch.msgid.link/0d3df7ab-6c41-c3cc-83cc-5ba55fe4e4bd@lysator.liu.se
Signed-off-by: Johannes Berg <johannes.berg@intel.com>

authored by

Peter Åstrand and committed by
Johannes Berg
c34dbc59 0acd76b7

+10
+1
drivers/net/wireless/ti/wlcore/cmd.h
··· 455 455 KEY_TKIP = 2, 456 456 KEY_AES = 3, 457 457 KEY_GEM = 4, 458 + KEY_IGTK = 5, 458 459 }; 459 460 460 461 struct wl1271_cmd_set_keys {
+9
drivers/net/wireless/ti/wlcore/main.c
··· 2419 2419 strscpy(wiphy->fw_version, wl->chip.fw_ver_str, 2420 2420 sizeof(wiphy->fw_version)); 2421 2421 2422 + /* WLAN_CIPHER_SUITE_AES_CMAC must be last in cipher_suites; 2423 + support only with firmware 8.9.1 and newer */ 2424 + if (wl->chip.fw_ver[FW_VER_MAJOR] < 1) 2425 + wl->hw->wiphy->n_cipher_suites--; 2426 + 2422 2427 /* 2423 2428 * Now we know if 11a is supported (info from the NVS), so disable 2424 2429 * 11a channels if not supported ··· 3589 3584 break; 3590 3585 case WL1271_CIPHER_SUITE_GEM: 3591 3586 key_type = KEY_GEM; 3587 + break; 3588 + case WLAN_CIPHER_SUITE_AES_CMAC: 3589 + key_type = KEY_IGTK; 3592 3590 break; 3593 3591 default: 3594 3592 wl1271_error("Unknown key algo 0x%x", key_conf->cipher); ··· 6204 6196 WLAN_CIPHER_SUITE_TKIP, 6205 6197 WLAN_CIPHER_SUITE_CCMP, 6206 6198 WL1271_CIPHER_SUITE_GEM, 6199 + WLAN_CIPHER_SUITE_AES_CMAC, 6207 6200 }; 6208 6201 6209 6202 /* The tx descriptor buffer */