rt2800lib: enable MFP if hw crypt is disabled
authorChun-Yeow Yeoh <yeohchunyeow@gmail.com>
Wed, 20 Apr 2016 16:41:34 +0000 (00:41 +0800)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 26 Apr 2016 09:30:43 +0000 (12:30 +0300)
If rt2800usb is loaded with nohwcrypt=1, mac80211 takes
care of the crypto with software encryption/decryption
and thus, MFP can be used.

Tested for secured mesh using ath9k_htc and ath9k.

Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@gmail.com>
Acked-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ralink/rt2x00/rt2800lib.c

index c36fa4e03fb6a2f900fd2f836aee413d7a03b6ac..bf3f0a39908c816efa508db2458ec276a15679a1 100644 (file)
@@ -7492,6 +7492,10 @@ static int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
        if (!rt2x00_is_usb(rt2x00dev))
                ieee80211_hw_set(rt2x00dev->hw, HOST_BROADCAST_PS_BUFFERING);
 
+       /* Set MFP if HW crypto is disabled. */
+       if (rt2800_hwcrypt_disabled(rt2x00dev))
+               ieee80211_hw_set(rt2x00dev->hw, MFP_CAPABLE);
+
        SET_IEEE80211_DEV(rt2x00dev->hw, rt2x00dev->dev);
        SET_IEEE80211_PERM_ADDR(rt2x00dev->hw,
                                rt2800_eeprom_addr(rt2x00dev,