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_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)