wifi: rtl8xxxu: add missing number of sec cam entries for all variants
authorMartin Kaistra <martin.kaistra@linutronix.de>
Tue, 16 Jan 2024 09:50:01 +0000 (10:50 +0100)
committerKalle Valo <kvalo@kernel.org>
Fri, 19 Jan 2024 17:30:53 +0000 (19:30 +0200)
Commit b837f78fbffa ("wifi: rtl8xxxu: add hw crypto support for AP
mode") introduced max_sec_cam_num as a member of rtl8xxxu_fileops.
It was missed to set this number for all variants except 8188f, which
caused rtl8xxxu_get_free_sec_cam() to always return 0 and therefore breaking
encrypted traffic.

Fix it by adding the numbers for all variants. The values are taken from
the vendor drivers and rtlwifi.

Link: https://lore.kernel.org/linux-wireless/20240111163603.2325-1-zenmchen@gmail.com/
Fixes: b837f78fbffa ("wifi: rtl8xxxu: add hw crypto support for AP mode")
Signed-off-by: Martin Kaistra <martin.kaistra@linutronix.de>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20240116095001.399500-1-martin.kaistra@linutronix.de
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192f.c
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8710b.c
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723a.c
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c

index cbeac9386ae51cae8bf8ea7567f37185dc254ae7..afe9cc1b49dcf872aafbff2d07a2b839d7bc8733 100644 (file)
@@ -1882,6 +1882,7 @@ struct rtl8xxxu_fileops rtl8188eu_fops = {
        .has_tx_report = 1,
        .init_reg_pkt_life_time = 1,
        .gen2_thermal_meter = 1,
+       .max_sec_cam_num = 32,
        .adda_1t_init = 0x0b1b25a0,
        .adda_1t_path_on = 0x0bdb25a0,
        /*
index b30a9a513cb8bdd11f3eb3355f00825c555996ce..3ee7d8f87da6c1a81d8d48232c6a4217bb7c6fb1 100644 (file)
@@ -613,6 +613,7 @@ struct rtl8xxxu_fileops rtl8192cu_fops = {
        .rx_agg_buf_size = 16000,
        .tx_desc_size = sizeof(struct rtl8xxxu_txdesc32),
        .rx_desc_size = sizeof(struct rtl8xxxu_rxdesc16),
+       .max_sec_cam_num = 32,
        .adda_1t_init = 0x0b1b25a0,
        .adda_1t_path_on = 0x0bdb25a0,
        .adda_2t_path_on_a = 0x04db25a4,
index 47bcaec6f2db4b51353fee8f5a01e05cd127fa13..63b73ace27ec7fd2e3a65a0c8d50064433ef4b13 100644 (file)
@@ -1769,6 +1769,7 @@ struct rtl8xxxu_fileops rtl8192eu_fops = {
        .needs_full_init = 1,
        .supports_ap = 1,
        .max_macid_num = 128,
+       .max_sec_cam_num = 64,
        .adda_1t_init = 0x0fc01616,
        .adda_1t_path_on = 0x0fc01616,
        .adda_2t_path_on_a = 0x0fc01616,
index 585b1a5eed69a2ac42860f0cd70ca3e68f8e4f28..21e4204769d07c3158594aaf5d4ffd4e310b0ffe 100644 (file)
@@ -2095,6 +2095,7 @@ struct rtl8xxxu_fileops rtl8192fu_fops = {
        .max_aggr_num = 0x1f1f,
        .supports_ap = 1,
        .max_macid_num = 128,
+       .max_sec_cam_num = 64,
        .trxff_boundary = 0x3f3f,
        .pbp_rx = PBP_PAGE_SIZE_256,
        .pbp_tx = PBP_PAGE_SIZE_256,
index 871b8cca8a18873571152fcfb649d68ca6dc4be3..46d57510e9fc6ae6cb40ae778646ceef431310c9 100644 (file)
@@ -1877,6 +1877,7 @@ struct rtl8xxxu_fileops rtl8710bu_fops = {
        .max_aggr_num = 0x0c14,
        .supports_ap = 1,
        .max_macid_num = 16,
+       .max_sec_cam_num = 32,
        .adda_1t_init = 0x03c00016,
        .adda_1t_path_on = 0x03c00016,
        .trxff_boundary = 0x3f7f,
index 15a30e496221b7ecb1b7624b34a887921230e1b0..ad1bb9377ca2e1c78cb8c8a707ede3c49f3f6656 100644 (file)
@@ -510,6 +510,7 @@ struct rtl8xxxu_fileops rtl8723au_fops = {
        .rx_agg_buf_size = 16000,
        .tx_desc_size = sizeof(struct rtl8xxxu_txdesc32),
        .rx_desc_size = sizeof(struct rtl8xxxu_rxdesc16),
+       .max_sec_cam_num = 32,
        .adda_1t_init = 0x0b1b25a0,
        .adda_1t_path_on = 0x0bdb25a0,
        .adda_2t_path_on_a = 0x04db25a4,
index 954369ed6226c11a646b7e3e28d705e4fa2114cd..9640c841d20a883c4a28a3a8d6ce626a07d16294 100644 (file)
@@ -1744,6 +1744,7 @@ struct rtl8xxxu_fileops rtl8723bu_fops = {
        .max_aggr_num = 0x0c14,
        .supports_ap = 1,
        .max_macid_num = 128,
+       .max_sec_cam_num = 64,
        .adda_1t_init = 0x01c00014,
        .adda_1t_path_on = 0x01c00014,
        .adda_2t_path_on_a = 0x01c00014,