commit: ac78a1d0b83fb8131f9f706b81353c3bfbef0ee8 Author: ingenarel (NeoJesus) <ingenarel_neojesus <AT> disroot <DOT> org> AuthorDate: Wed Feb 25 21:11:16 2026 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Mon Mar 9 13:11:28 2026 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac78a1d0
net-wireless/broadcom-sta: patch to work with 6.17 kernels Closes: https://bugs.gentoo.org/964243 Signed-off-by: ingenarel (NeoJesus) <ingenarel_neojesus <AT> disroot.org> Part-of: https://codeberg.org/gentoo/gentoo/pulls/142 Merges: https://codeberg.org/gentoo/gentoo/pulls/142 Signed-off-by: Sam James <sam <AT> gentoo.org> ...ebuild => broadcom-sta-6.30.223.271-r10.ebuild} | 3 +- .../files/021-broadcom-wl-fix-linux-6.17.patch | 77 ++++++++++++++++++++++ 2 files changed, 79 insertions(+), 1 deletion(-) diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r9.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r10.ebuild similarity index 97% rename from net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r9.ebuild rename to net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r10.ebuild index 44904d126260..d87ca0e8f3ea 100644 --- a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r9.ebuild +++ b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r10.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -45,6 +45,7 @@ PATCHES=( "${FILESDIR}/018-broadcom-wl-fix-linux-6.13.patch" "${FILESDIR}/019-broadcom-wl-fix-linux-6.14.patch" "${FILESDIR}/020-broadcom-wl-fix-linux-6.15.patch" + "${FILESDIR}/021-broadcom-wl-fix-linux-6.17.patch" ) pkg_pretend() { diff --git a/net-wireless/broadcom-sta/files/021-broadcom-wl-fix-linux-6.17.patch b/net-wireless/broadcom-sta/files/021-broadcom-wl-fix-linux-6.17.patch new file mode 100644 index 000000000000..ca51a6d14d9f --- /dev/null +++ b/net-wireless/broadcom-sta/files/021-broadcom-wl-fix-linux-6.17.patch @@ -0,0 +1,77 @@ +patch based on https://gist.github.com/joanbm/4e7f18febc2c25f5fdf8143a739dccd1 + +diff -urN works/src/wl/sys/wl_cfg80211_hybrid.c fixed/src/wl/sys/wl_cfg80211_hybrid.c +--- works/src/wl/sys/wl_cfg80211_hybrid.c 2026-02-25 21:07:31.214177735 +0600 ++++ fixed/src/wl/sys/wl_cfg80211_hybrid.c 2026-02-25 21:19:10.577143276 +0600 +@@ -68,7 +68,11 @@ + static s32 wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev, + struct cfg80211_scan_request *request); + #endif ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0) ++static s32 wl_cfg80211_set_wiphy_params(struct wiphy *wiphy, int radio_idx, u32 changed); ++#else + static s32 wl_cfg80211_set_wiphy_params(struct wiphy *wiphy, u32 changed); ++#endif + static s32 wl_cfg80211_join_ibss(struct wiphy *wiphy, struct net_device *dev, + struct cfg80211_ibss_params *params); + static s32 wl_cfg80211_leave_ibss(struct wiphy *wiphy, struct net_device *dev); +@@ -87,7 +91,10 @@ + struct cfg80211_connect_params *sme); + static s32 wl_cfg80211_disconnect(struct wiphy *wiphy, struct net_device *dev, u16 reason_code); + +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0) ++static s32 wl_cfg80211_set_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, int radio_idx, ++ enum nl80211_tx_power_setting type, s32 dbm); ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0) + static s32 + wl_cfg80211_set_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, + enum nl80211_tx_power_setting type, s32 dbm); +@@ -99,7 +106,10 @@ + enum tx_power_setting type, s32 dbm); + #endif + +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 14, 0) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0) ++static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, int radio_idx, ++ u32 link_id, s32 *dbm); ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(6, 14, 0) + static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, + unsigned int link_id, s32 *dbm); + #elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0) +@@ -660,7 +670,11 @@ + return err; + } + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0) ++static s32 wl_cfg80211_set_wiphy_params(struct wiphy *wiphy, int radio_idx, u32 changed) ++#else + static s32 wl_cfg80211_set_wiphy_params(struct wiphy *wiphy, u32 changed) ++#endif + { + struct wl_cfg80211_priv *wl = wiphy_to_wl(wiphy); + struct net_device *ndev = wl_to_ndev(wl); +@@ -1094,7 +1108,10 @@ + return err; + } + +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0) ++static s32 wl_cfg80211_set_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, int radio_idx, ++ enum nl80211_tx_power_setting type, s32 dbm) ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0) + static s32 + wl_cfg80211_set_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, + enum nl80211_tx_power_setting type, s32 dbm) +@@ -1155,7 +1172,10 @@ + return err; + } + +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 14, 0) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0) ++static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, int radio_idx, ++ u32 link_id, s32 *dbm) ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(6, 14, 0) + static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, + unsigned int link_id, s32 *dbm) + #elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)
