Skip to content

Commit d103f26

Browse files
committed
Johannes Berg says: ==================== Plenty of things going on, notably: - iwlwifi: major cleanups/rework - brcmfmac: gets AP isolation support - mac80211: gets more S1G support * tag 'wireless-next-2025-09-11' of https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next: (94 commits) wifi: mwifiex: fix endianness handling in mwifiex_send_rgpower_table wifi: cfg80211: Remove the redundant wiphy_dev wifi: mac80211: fix incorrect comment wifi: cfg80211: update the time stamps in hidden ssid wifi: mac80211: Fix HE capabilities element check wifi: mac80211: add tx_handlers_drop statistics to ethtool wifi: mac80211: fix reporting of all valid links in sta_set_sinfo() wifi: iwlwifi: mld: CHANNEL_SURVEY_NOTIF is always supported wifi: iwlwifi: mld: remove support of iwl_esr_mode_notif version 1 wifi: iwlwifi: mld: remove support from of sta cmd version 1 wifi: iwlwifi: mld: remove support of roc cmd version 5 wifi: iwlwifi: mld: remove support of mac cmd ver 2 wifi: iwlwifi: mld: don't consider phy cmd version 5 wifi: iwlwifi: implement wowlan status notification API update wifi: iwlwifi: fw: Add ASUS to PPAG and TAS list wifi: iwlwifi: add kunit tests for nvm parse wifi: iwlwifi: api: add a flag to iwl_link_ctx_modify_flags wifi: iwlwifi: pcie: move ltr_enabled to the specific transport wifi: iwlwifi: pcie: move pm_support to the specific transport wifi: iwlwifi: rename iwl_finish_nic_init ... ==================== Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
2 parents fc3a281 + 1b2e9fe commit d103f26

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

123 files changed

+2915
-3863
lines changed

drivers/net/wireless/ath/carl9170/rx.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -555,7 +555,7 @@ static void carl9170_ps_beacon(struct ar9170 *ar, void *data, unsigned int len)
555555
/* Check whenever the PHY can be turned off again. */
556556

557557
/* 1. What about buffered unicast traffic for our AID? */
558-
cam = ieee80211_check_tim(tim_ie, tim_len, ar->common.curaid);
558+
cam = ieee80211_check_tim(tim_ie, tim_len, ar->common.curaid, false);
559559

560560
/* 2. Maybe the AP wants to send multicast/broadcast data? */
561561
cam |= !!(tim_ie->bitmap_ctrl & 0x01);

drivers/net/wireless/ath/wil6210/cfg80211.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2708,6 +2708,7 @@ static void wil_wiphy_init(struct wiphy *wiphy)
27082708
wiphy->n_cipher_suites = ARRAY_SIZE(wil_cipher_suites);
27092709
wiphy->mgmt_stypes = wil_mgmt_stypes;
27102710
wiphy->features |= NL80211_FEATURE_SK_TX_STATUS;
2711+
wiphy->bss_param_support = WIPHY_BSS_PARAM_AP_ISOLATE;
27112712

27122713
wiphy->n_vendor_commands = ARRAY_SIZE(wil_nl80211_vendor_commands);
27132714
wiphy->vendor_commands = wil_nl80211_vendor_commands;

drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -997,9 +997,9 @@ static const struct sdio_device_id brcmf_sdmmc_ids[] = {
997997
BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4356, WCC),
998998
BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4359, WCC),
999999
BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43751, WCC),
1000+
BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43752, WCC),
10001001
BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_CYPRESS_4373, CYW),
10011002
BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_CYPRESS_43012, CYW),
1002-
BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_CYPRESS_43752, CYW),
10031003
BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_CYPRESS_89359, CYW),
10041004
CYW_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_CYPRESS_43439, CYW),
10051005
{ /* end: all zeroes */ }

drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5958,6 +5958,26 @@ static int brcmf_cfg80211_del_pmk(struct wiphy *wiphy, struct net_device *dev,
59585958
return brcmf_set_pmk(ifp, NULL, 0);
59595959
}
59605960

5961+
static int brcmf_cfg80211_change_bss(struct wiphy *wiphy, struct net_device *dev,
5962+
struct bss_parameters *params)
5963+
{
5964+
struct brcmf_if *ifp = netdev_priv(dev);
5965+
int ret = 0;
5966+
5967+
/* In AP mode, the "ap_isolate" value represents
5968+
* 0 = allow low-level bridging of frames between associated stations
5969+
* 1 = restrict low-level bridging of frames to isolate associated stations
5970+
* -1 = do not change existing setting
5971+
*/
5972+
if (params->ap_isolate >= 0) {
5973+
ret = brcmf_fil_iovar_int_set(ifp, "ap_isolate", params->ap_isolate);
5974+
if (ret < 0)
5975+
brcmf_err("ap_isolate iovar failed: ret=%d\n", ret);
5976+
}
5977+
5978+
return ret;
5979+
}
5980+
59615981
static struct cfg80211_ops brcmf_cfg80211_ops = {
59625982
.add_virtual_intf = brcmf_cfg80211_add_iface,
59635983
.del_virtual_intf = brcmf_cfg80211_del_iface,
@@ -6005,6 +6025,7 @@ static struct cfg80211_ops brcmf_cfg80211_ops = {
60056025
.update_connect_params = brcmf_cfg80211_update_conn_params,
60066026
.set_pmk = brcmf_cfg80211_set_pmk,
60076027
.del_pmk = brcmf_cfg80211_del_pmk,
6028+
.change_bss = brcmf_cfg80211_change_bss,
60086029
};
60096030

60106031
struct cfg80211_ops *brcmf_cfg80211_get_ops(struct brcmf_mp_device *settings)
@@ -7659,6 +7680,8 @@ static int brcmf_setup_wiphy(struct wiphy *wiphy, struct brcmf_if *ifp)
76597680
BIT(NL80211_BSS_SELECT_ATTR_BAND_PREF) |
76607681
BIT(NL80211_BSS_SELECT_ATTR_RSSI_ADJUST);
76617682

7683+
wiphy->bss_param_support = WIPHY_BSS_PARAM_AP_ISOLATE;
7684+
76627685
wiphy->flags |= WIPHY_FLAG_NETNS_OK |
76637686
WIPHY_FLAG_PS_ON_BY_DEFAULT |
76647687
WIPHY_FLAG_HAVE_AP_SME |

drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -738,8 +738,8 @@ static u32 brcmf_chip_tcm_rambase(struct brcmf_chip_priv *ci)
738738
case BRCM_CC_4364_CHIP_ID:
739739
case CY_CC_4373_CHIP_ID:
740740
return 0x160000;
741-
case CY_CC_43752_CHIP_ID:
742741
case BRCM_CC_43751_CHIP_ID:
742+
case BRCM_CC_43752_CHIP_ID:
743743
case BRCM_CC_4377_CHIP_ID:
744744
return 0x170000;
745745
case BRCM_CC_4378_CHIP_ID:
@@ -1452,7 +1452,7 @@ bool brcmf_chip_sr_capable(struct brcmf_chip *pub)
14521452
return (reg & CC_SR_CTL0_ENABLE_MASK) != 0;
14531453
case BRCM_CC_4359_CHIP_ID:
14541454
case BRCM_CC_43751_CHIP_ID:
1455-
case CY_CC_43752_CHIP_ID:
1455+
case BRCM_CC_43752_CHIP_ID:
14561456
case CY_CC_43012_CHIP_ID:
14571457
addr = CORE_CC_REG(pmu->base, retention_ctl);
14581458
reg = chip->ops->read32(chip->ctx, addr);

drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -554,12 +554,16 @@ static int brcmf_fw_request_nvram_done(const struct firmware *fw, void *ctx)
554554
data = (u8 *)fw->data;
555555
data_len = fw->size;
556556
} else {
557-
if ((data = bcm47xx_nvram_get_contents(&data_len)))
557+
data = bcm47xx_nvram_get_contents(&data_len);
558+
if (data) {
558559
free_bcm47xx_nvram = true;
559-
else if ((data = brcmf_fw_nvram_from_efi(&data_len)))
560-
kfree_nvram = true;
561-
else if (!(cur->flags & BRCMF_FW_REQF_OPTIONAL))
562-
goto fail;
560+
} else {
561+
data = brcmf_fw_nvram_from_efi(&data_len);
562+
if (data)
563+
kfree_nvram = true;
564+
else if (!(cur->flags & BRCMF_FW_REQF_OPTIONAL))
565+
goto fail;
566+
}
563567
}
564568

565569
if (data)

drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -655,10 +655,10 @@ static const struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = {
655655
BRCMF_FW_ENTRY(BRCM_CC_4356_CHIP_ID, 0xFFFFFFFF, 4356),
656656
BRCMF_FW_ENTRY(BRCM_CC_4359_CHIP_ID, 0xFFFFFFFF, 4359),
657657
BRCMF_FW_ENTRY(BRCM_CC_43751_CHIP_ID, 0xFFFFFFFF, 43752),
658+
BRCMF_FW_ENTRY(BRCM_CC_43752_CHIP_ID, 0xFFFFFFFF, 43752),
658659
BRCMF_FW_ENTRY(CY_CC_4373_CHIP_ID, 0xFFFFFFFF, 4373),
659660
BRCMF_FW_ENTRY(CY_CC_43012_CHIP_ID, 0xFFFFFFFF, 43012),
660661
BRCMF_FW_ENTRY(CY_CC_43439_CHIP_ID, 0xFFFFFFFF, 43439),
661-
BRCMF_FW_ENTRY(CY_CC_43752_CHIP_ID, 0xFFFFFFFF, 43752)
662662
};
663663

664664
#define TXCTL_CREDITS 2
@@ -3426,8 +3426,8 @@ static int brcmf_sdio_download_firmware(struct brcmf_sdio *bus,
34263426
static bool brcmf_sdio_aos_no_decode(struct brcmf_sdio *bus)
34273427
{
34283428
if (bus->ci->chip == BRCM_CC_43751_CHIP_ID ||
3429-
bus->ci->chip == CY_CC_43012_CHIP_ID ||
3430-
bus->ci->chip == CY_CC_43752_CHIP_ID)
3429+
bus->ci->chip == BRCM_CC_43752_CHIP_ID ||
3430+
bus->ci->chip == CY_CC_43012_CHIP_ID)
34313431
return true;
34323432
else
34333433
return false;
@@ -4278,8 +4278,8 @@ static void brcmf_sdio_firmware_callback(struct device *dev, int err,
42784278

42794279
switch (sdiod->func1->device) {
42804280
case SDIO_DEVICE_ID_BROADCOM_43751:
4281+
case SDIO_DEVICE_ID_BROADCOM_43752:
42814282
case SDIO_DEVICE_ID_BROADCOM_CYPRESS_4373:
4282-
case SDIO_DEVICE_ID_BROADCOM_CYPRESS_43752:
42834283
brcmf_dbg(INFO, "set F2 watermark to 0x%x*4 bytes\n",
42844284
CY_4373_F2_WATERMARK);
42854285
brcmf_sdiod_writeb(sdiod, SBSDIO_WATERMARK,

drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@
6060
#define CY_CC_4373_CHIP_ID 0x4373
6161
#define CY_CC_43012_CHIP_ID 43012
6262
#define CY_CC_43439_CHIP_ID 43439
63-
#define CY_CC_43752_CHIP_ID 43752
6463

6564
/* USB Device IDs */
6665
#define BRCM_USB_43143_DEVICE_ID 0xbd1e

drivers/net/wireless/intel/iwlegacy/iwl-spectrum.h

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -50,28 +50,4 @@ struct ieee80211_measurement_params {
5050
__le16 duration;
5151
} __packed;
5252

53-
struct ieee80211_info_element {
54-
u8 id;
55-
u8 len;
56-
u8 data[];
57-
} __packed;
58-
59-
struct ieee80211_measurement_request {
60-
struct ieee80211_info_element ie;
61-
u8 token;
62-
u8 mode;
63-
u8 type;
64-
struct ieee80211_measurement_params params[];
65-
} __packed;
66-
67-
struct ieee80211_measurement_report {
68-
struct ieee80211_info_element ie;
69-
u8 token;
70-
u8 mode;
71-
u8 type;
72-
union {
73-
struct ieee80211_basic_report basic[0];
74-
} u;
75-
} __packed;
76-
7753
#endif

drivers/net/wireless/intel/iwlwifi/cfg/bz.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99
#include "iwl-prph.h"
1010
#include "fw/api/txq.h"
1111

12-
/* Highest firmware API version supported */
13-
#define IWL_BZ_UCODE_API_MAX 102
12+
/* Highest firmware core release supported */
13+
#define IWL_BZ_UCODE_CORE_MAX 99
1414

1515
/* Lowest firmware API version supported */
16-
#define IWL_BZ_UCODE_API_MIN 98
16+
#define IWL_BZ_UCODE_API_MIN 100
1717

1818
/* Memory offsets and lengths */
1919
#define IWL_BZ_SMEM_OFFSET 0x400000
@@ -75,7 +75,7 @@ static const struct iwl_family_base_params iwl_bz_base = {
7575
},
7676
},
7777
.features = IWL_TX_CSUM_NETIF_FLAGS | NETIF_F_RXCSUM,
78-
.ucode_api_max = IWL_BZ_UCODE_API_MAX,
78+
.ucode_api_max = ENCODE_CORE_AS_API(IWL_BZ_UCODE_CORE_MAX),
7979
.ucode_api_min = IWL_BZ_UCODE_API_MIN,
8080
};
8181

@@ -101,8 +101,8 @@ const struct iwl_mac_cfg iwl_gl_mac_cfg = {
101101
.low_latency_xtal = true,
102102
};
103103

104-
IWL_FW_AND_PNVM(IWL_BZ_A_FM_B_FW_PRE, IWL_BZ_UCODE_API_MAX);
105-
IWL_FW_AND_PNVM(IWL_BZ_A_FM_C_FW_PRE, IWL_BZ_UCODE_API_MAX);
106-
IWL_FW_AND_PNVM(IWL_BZ_A_FM4_B_FW_PRE, IWL_BZ_UCODE_API_MAX);
107-
IWL_FW_AND_PNVM(IWL_GL_B_FM_B_FW_PRE, IWL_BZ_UCODE_API_MAX);
108-
IWL_FW_AND_PNVM(IWL_GL_C_FM_C_FW_PRE, IWL_BZ_UCODE_API_MAX);
104+
IWL_CORE_FW(IWL_BZ_A_FM_B_FW_PRE, IWL_BZ_UCODE_CORE_MAX);
105+
IWL_CORE_FW(IWL_BZ_A_FM_C_FW_PRE, IWL_BZ_UCODE_CORE_MAX);
106+
IWL_CORE_FW(IWL_BZ_A_FM4_B_FW_PRE, IWL_BZ_UCODE_CORE_MAX);
107+
IWL_CORE_FW(IWL_GL_B_FM_B_FW_PRE, IWL_BZ_UCODE_CORE_MAX);
108+
IWL_CORE_FW(IWL_GL_C_FM_C_FW_PRE, IWL_BZ_UCODE_CORE_MAX);

0 commit comments

Comments
 (0)