wifi: rtl8xxxu: Set maximum number of supported stations
authorMartin Kaistra <martin.kaistra@linutronix.de>
Fri, 28 Apr 2023 15:08:33 +0000 (17:08 +0200)
committerKalle Valo <kvalo@kernel.org>
Fri, 5 May 2023 07:30:15 +0000 (10:30 +0300)
Set maximum number of associated stations supported in AP mode. For
8188f, the maximum number of supported macids is 16, reserve one for
broadcast/multicast frames.

Signed-off-by: Martin Kaistra <martin.kaistra@linutronix.de>
Reviewed-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230428150833.218605-19-martin.kaistra@linutronix.de
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188f.c
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c

index 296f3457846826378ce774f880fc966d37bba433..2c756640f59d3d056c61b01375f5cd894011c307 100644 (file)
@@ -1944,6 +1944,7 @@ struct rtl8xxxu_fileops {
        u8 ampdu_max_time;
        u8 ustime_tsf_edca;
        u8 supports_ap:1;
+       u16 max_macid_num;
        u32 adda_1t_init;
        u32 adda_1t_path_on;
        u32 adda_2t_path_on_a;
index 7fd258bf65e361b4edbd1cd2b6a86da93057996e..71b7f0d31bf4361b53fa88e05155215dce9b9617 100644 (file)
@@ -1749,6 +1749,7 @@ struct rtl8xxxu_fileops rtl8188fu_fops = {
        .ampdu_max_time = 0x70,
        .ustime_tsf_edca = 0x28,
        .supports_ap = 1,
+       .max_macid_num = 16,
        .adda_1t_init = 0x03c00014,
        .adda_1t_path_on = 0x03c00014,
        .trxff_boundary = 0x3f7f,
index 71c715ec5608da2c58923f57708f60726bafa3c1..67901b3ee896853526519d3dfbe120e390c36fd9 100644 (file)
@@ -7532,6 +7532,8 @@ static int rtl8xxxu_probe(struct usb_interface *interface,
 
        hw->wiphy->max_scan_ssids = 1;
        hw->wiphy->max_scan_ie_len = IEEE80211_MAX_DATA_LEN;
+       if (priv->fops->max_macid_num)
+               hw->wiphy->max_ap_assoc_sta = priv->fops->max_macid_num - 1;
        hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION);
        if (priv->fops->supports_ap)
                hw->wiphy->interface_modes |= BIT(NL80211_IFTYPE_AP);