Bug#1119951: broadcom-sta-dkms: module fails to build for Linux 6.17
Craig Prevallet <[email protected]> Sun, 02 Nov 2025 13:03:02 -0600
| Newsgroups | gmane.linux.debian.ports.amd64 |
|---|---|
| Message-ID | <176211018213.5054.6916112639970220340.reportbug__14996.5118079976$1762110332$gmane$org@Holstein> |
Package: broadcom-sta-dkms Version: 6.30.223.271-28 Severity: serious Tags: ftbfs patch Justification: fails to build from source (but built successfully in the past) X-Debbugs-Cc: [email protected], [email protected] User: [email protected] Usertags: amd64 Dear Maintainer, * What led up to the situation? Installation of kernel 6.17 blocked/failed on sid/forky due to broadcom- sta-dkms. * What exactly did you do (or not do) that was effective (or ineffective)? Found necessary changes at https://gitlab.archlinux.org/archlinux/packaging/packages/broadcom-wl- dkms/-/blob/main/021-linux617.patch?ref_type=heads Applied changes by hand to (my) source and created debian patch. * What was the outcome of this action? Broadcom-sta-dkms builds. Kernel installs. Wireless functional. * What outcome did you expect instead? -- System Information: Debian Release: forky/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 6.17.6+deb14-amd64 (SMP w/4 CPU threads; PREEMPT) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_WARN, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages broadcom-sta-dkms depends on: ii dkms 3.2.2-1 Versions of packages broadcom-sta-dkms recommends: ii wireless-tools 30~pre9-18+b1 broadcom-sta-dkms suggests no packages. -- no debconf information -- debsums errors found: debsums: changed file /usr/src/broadcom-sta-6.30.223.271/src/wl/sys/wl_cfg80211_hybrid.c (from broadcom-sta-dkms package)
wl_cfg80211_hybrid_c.patch
(text/plain, 3.6 KB)
--- wl_cfg80211_hybrid.c_pre_linux_6_17 2025-11-02 11:42:32.573386634 -0600
+++ wl_cfg80211_hybrid.c 2025-11-02 12:29:45.026726601 -0600
@@ -67,7 +67,11 @@
static s32 wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
struct cfg80211_scan_request *request);
#endif
-static s32 wl_cfg80211_set_wiphy_params(struct wiphy *wiphy, u32 changed);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0)
+ static s32 wl_cfg80211_set_wiphy_params(struct wiphy *wiphy, s32 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);
@@ -85,8 +89,10 @@
static int wl_cfg80211_connect(struct wiphy *wiphy, struct net_device *dev,
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,
+ s32 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 mbm);
@@ -98,7 +104,10 @@
enum tx_power_setting type, s32 mbm);
#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, s32 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, u32 /*link_id*/, s32 *dbm);
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)
static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, s32 *dbm);
@@ -663,8 +672,11 @@
}
return err;
}
-
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0)
+static s32 wl_cfg80211_set_wiphy_params(struct wiphy *wiphy, s32 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);
@@ -1101,8 +1113,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,
+ s32 radio_idx, enum nl80211_tx_power_setting type, s32 mbm)
+#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 mbm)
@@ -1162,8 +1176,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, s32 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, u32 /*link_id*/, s32 *dbm)
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)
static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, s32 *dbm)