Johannes Berg says: ==================== More fixes: - ath12k - avoid busy-waiting - activate correct number of links - iwlwifi - iwldvm regression (lots of warnings) - iwlmld merge damage regression (crash) - fix build with some old gcc versions - carl9170: don't talk to device w/o FW [syzbot] - ath6kl: remove bad FW WARN [syzbot] - ieee80211: use variable-length arrays [syzbot] - mac80211 - remove WARN on delayed beacon update [syzbot] - drop OCB frames with invalid source [syzbot] * tag 'wireless-2025-06-18' of https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless: wifi: iwlwifi: Fix incorrect logic on cmd_ver range checking wifi: iwlwifi: dvm: restore n_no_reclaim_cmds setting wifi: iwlwifi: cfg: Limit cb_size to valid range wifi: iwlwifi: restore missing initialization of async_handlers_list (again) wifi: ath6kl: remove WARN on bad firmware input wifi: carl9170: do not ping device which has failed to load firmware wifi: ath12k: don't wait when there is no vdev started wifi: ath12k: don't use static variables in ath12k_wmi_fw_stats_process() wifi: ath12k: avoid burning CPU while waiting for firmware stats wifi: ath12k: fix documentation on firmware stats wifi: ath12k: don't activate more links than firmware supports wifi: ath12k: update link active in case two links fall on the same MAC wifi: ath12k: support WMI_MLO_LINK_SET_ACTIVE_CMDID command wifi: ath12k: update freq range for each hardware mode wifi: ath12k: parse and save sbs_lower_band_end_freq from WMI_SERVICE_READY_EXT2_EVENTID event wifi: ath12k: parse and save hardware mode info from WMI_SERVICE_READY_EXT_EVENTID event for later use wifi: ath12k: Avoid CPU busy-wait by handling VDEV_STAT and BCN_STAT wifi: mac80211: don't WARN for late channel/color switch wifi: mac80211: drop invalid source address OCB frames wifi: remove zero-length arrays ====================
Showing the changes to include/linux (1 of 18 files). Show all
Unified · Split
| @@ -1278,7 +1278,7 @@ struct ieee80211_ext { · 1277 unmodified lines | |||
| 1278 | u8 sa[ETH_ALEN]; | 1278 | u8 sa[ETH_ALEN]; |
| 1279 | __le32 timestamp; | 1279 | __le32 timestamp; |
| 1280 | u8 change_seq; | 1280 | u8 change_seq; |
| 1281 | u8 variable[0]; | 1281 | u8 variable[]; |
| 1282 | } __packed s1g_beacon; | 1282 | } __packed s1g_beacon; |
| 1283 | } u; | 1283 | } u; |
| 1284 | } __packed __aligned(2); | 1284 | } __packed __aligned(2); |
| @@ -1536,7 +1536,7 @@ struct ieee80211_mgmt { · 251 unmodified lines | |||
| 1536 | u8 action_code; | 1536 | u8 action_code; |
| 1537 | u8 dialog_token; | 1537 | u8 dialog_token; |
| 1538 | __le16 capability; | 1538 | __le16 capability; |
| 1539 | u8 variable[0]; | 1539 | u8 variable[]; |
| 1540 | } __packed tdls_discover_resp; | 1540 | } __packed tdls_discover_resp; |
| 1541 | struct { | 1541 | struct { |
| 1542 | u8 action_code; | 1542 | u8 action_code; |
| @@ -1721,35 +1721,35 @@ struct ieee80211_tdls_data { · 178 unmodified lines | |||
| 1721 | struct { | 1721 | struct { |
| 1722 | u8 dialog_token; | 1722 | u8 dialog_token; |
| 1723 | __le16 capability; | 1723 | __le16 capability; |
| 1724 | u8 variable[0]; | 1724 | u8 variable[]; |
| 1725 | } __packed setup_req; | 1725 | } __packed setup_req; |
| 1726 | struct { | 1726 | struct { |
| 1727 | __le16 status_code; | 1727 | __le16 status_code; |
| 1728 | u8 dialog_token; | 1728 | u8 dialog_token; |
| 1729 | __le16 capability; | 1729 | __le16 capability; |
| 1730 | u8 variable[0]; | 1730 | u8 variable[]; |
| 1731 | } __packed setup_resp; | 1731 | } __packed setup_resp; |
| 1732 | struct { | 1732 | struct { |
| 1733 | __le16 status_code; | 1733 | __le16 status_code; |
| 1734 | u8 dialog_token; | 1734 | u8 dialog_token; |
| 1735 | u8 variable[0]; | 1735 | u8 variable[]; |
| 1736 | } __packed setup_cfm; | 1736 | } __packed setup_cfm; |
| 1737 | struct { | 1737 | struct { |
| 1738 | __le16 reason_code; | 1738 | __le16 reason_code; |
| 1739 | u8 variable[0]; | 1739 | u8 variable[]; |
| 1740 | } __packed teardown; | 1740 | } __packed teardown; |
| 1741 | struct { | 1741 | struct { |
| 1742 | u8 dialog_token; | 1742 | u8 dialog_token; |
| 1743 | u8 variable[0]; | 1743 | u8 variable[]; |
| 1744 | } __packed discover_req; | 1744 | } __packed discover_req; |
| 1745 | struct { | 1745 | struct { |
| 1746 | u8 target_channel; | 1746 | u8 target_channel; |
| 1747 | u8 oper_class; | 1747 | u8 oper_class; |
| 1748 | u8 variable[0]; | 1748 | u8 variable[]; |
| 1749 | } __packed chan_switch_req; | 1749 | } __packed chan_switch_req; |
| 1750 | struct { | 1750 | struct { |
| 1751 | __le16 status_code; | 1751 | __le16 status_code; |
| 1752 | u8 variable[0]; | 1752 | u8 variable[]; |
| 1753 | } __packed chan_switch_resp; | 1753 | } __packed chan_switch_resp; |
| 1754 | } u; | 1754 | } u; |
| 1755 | } __packed; | 1755 | } __packed; |