rtw88: fill zeros to words 0x06 and 0x07 of security cam entry
authorPing-Ke Shih <pkshih@realtek.com>
Tue, 12 May 2020 10:26:20 +0000 (18:26 +0800)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 13 May 2020 15:48:52 +0000 (18:48 +0300)
8723D adds some experimental features to word 0x06 of cam entry, so fill
zeros to initialize them to off state. For existing chips, these two words
are reserved and always zeros, so this change is harmless for them.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20200512102621.5148-9-yhchuang@realtek.com
drivers/net/wireless/realtek/rtw88/sec.c

index d0d7fbb10d58950788512d04e8f3e65e71d3c569..ce46e5b4a60a2c266084c507410df8e8cb46d39c 100644 (file)
@@ -44,7 +44,7 @@ void rtw_sec_write_cam(struct rtw_dev *rtwdev,
 
        write_cmd = RTW_SEC_CMD_WRITE_ENABLE | RTW_SEC_CMD_POLLING;
        addr = hw_key_idx << RTW_SEC_CAM_ENTRY_SHIFT;
-       for (i = 5; i >= 0; i--) {
+       for (i = 7; i >= 0; i--) {
                switch (i) {
                case 0:
                        content = ((key->keyidx & 0x3))         |
@@ -60,6 +60,10 @@ void rtw_sec_write_cam(struct rtw_dev *rtwdev,
                                  (cam->addr[4]         << 16)  |
                                  (cam->addr[5]         << 24);
                        break;
+               case 6:
+               case 7:
+                       content = 0;
+                       break;
                default:
                        j = (i - 2) << 2;
                        content = (key->key[j])                 |