Projects
home:manfred-h
broadcom-wl
broadcom-wl.linux-7.1.patch
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File broadcom-wl.linux-7.1.patch of Package broadcom-wl
From 971e6f229e155e8a0bd958a53d6d5d76bcac1c17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joan=20Bruguera=20Mic=C3=B3?= <joanbrugueram@gmail.com> Date: Sun, 8 Mar 2026 15:34:41 +0000 Subject: [PATCH] Tentative patch for broadcom-wl 6.30.223.271 driver for Linux Next-20260306 --- src/wl/sys/wl_cfg80211_hybrid.c | 58 +++++++++++++++++++++++++++++---- 1 file changed, 52 insertions(+), 6 deletions(-) diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c index e802c17..cab72b1 100644 --- a/src/wl/sys/wl_cfg80211_hybrid.c +++ b/src/wl/sys/wl_cfg80211_hybrid.c @@ -80,9 +80,13 @@ static s32 wl_cfg80211_leave_ibss(struct wiphy *wiphy, struct net_device *dev); #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 16, 0) static s32 wl_cfg80211_get_station(struct wiphy *wiphy, struct net_device *dev, u8 *mac, struct station_info *sinfo); -#else +#elif LINUX_VERSION_CODE < KERNEL_VERSION(7, 1, 0) static s32 wl_cfg80211_get_station(struct wiphy *wiphy, struct net_device *dev, const u8 *mac, struct station_info *sinfo); +#else +// Rel. commit "wifi: nl80211/cfg80211: support stations of non-netdev interfaces" (Miri Korenblit, 19 Feb 2026) +static s32 wl_cfg80211_get_station(struct wiphy *wiphy, + struct wireless_dev *wdev, const u8 *mac, struct station_info *sinfo); #endif static s32 wl_cfg80211_set_power_mgmt(struct wiphy *wiphy, @@ -128,7 +132,18 @@ static s32 wl_cfg80211_config_default_key(struct wiphy *wiphy, static s32 wl_cfg80211_config_default_key(struct wiphy *wiphy, struct net_device *dev, u8 key_idx); #endif -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0) +// Rel. commit "wifi: cfg80211: support key installation on non-netdev wdevs" (Avraham Stern, 7 Jan 2026) +static s32 wl_cfg80211_add_key(struct wiphy *wiphy, struct wireless_dev *wdev, + int link_id, u8 key_idx, bool pairwise, const u8 *mac_addr, + struct key_params *params); +static s32 wl_cfg80211_del_key(struct wiphy *wiphy, struct wireless_dev *wdev, + int link_id, u8 key_idx, bool pairwise, const u8 *mac_addr); +static s32 wl_cfg80211_get_key(struct wiphy *wiphy, struct wireless_dev *wdev, + int link_id, u8 key_idx, bool pairwise, const u8 *mac_addr, + void *cookie, + void (*callback) (void *cookie, struct key_params *params)); +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37) static s32 wl_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev, MAYBE_INT_LINK_ID u8 key_idx, bool pairwise, const u8 *mac_addr, struct key_params *params); static s32 wl_cfg80211_del_key(struct wiphy *wiphy, struct net_device *dev, @@ -1229,7 +1244,12 @@ wl_cfg80211_config_default_key(struct wiphy *wiphy, return 0; } -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0) +static s32 +wl_cfg80211_add_key(struct wiphy *wiphy, struct wireless_dev *wdev, + int link_id, u8 key_idx, bool pairwise, const u8 *mac_addr, + struct key_params *params) +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37) static s32 wl_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev, MAYBE_INT_LINK_ID u8 key_idx, bool pairwise, const u8 *mac_addr, struct key_params *params) #else @@ -1244,6 +1264,9 @@ wl_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev, u8 key_idx, const u8 *mac_addr, struct key_params *params) #endif { +#if LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0) + struct net_device *dev = wdev->netdev; +#endif struct wl_cfg80211_priv *wl = ndev_to_wl(dev); struct wl_wsec_key key; s32 secval, secnew = 0; @@ -1355,7 +1378,11 @@ wl_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev, return err; } -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0) +static s32 +wl_cfg80211_del_key(struct wiphy *wiphy, struct wireless_dev *wdev, + int link_id, u8 key_idx, bool pairwise, const u8 *mac_addr) +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37) static s32 wl_cfg80211_del_key(struct wiphy *wiphy, struct net_device *dev, MAYBE_INT_LINK_ID u8 key_idx, bool pairwise, const u8 *mac_addr) @@ -1369,6 +1396,9 @@ wl_cfg80211_del_key(struct wiphy *wiphy, struct net_device *dev, u8 key_idx, const u8 *mac_addr) #endif { +#if LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0) + struct net_device *dev = wdev->netdev; +#endif struct wl_wsec_key key; s32 err = 0; @@ -1402,7 +1432,13 @@ wl_cfg80211_del_key(struct wiphy *wiphy, struct net_device *dev, return err; } -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0) +static s32 +wl_cfg80211_get_key(struct wiphy *wiphy, struct wireless_dev *wdev, + int link_id, u8 key_idx, bool pairwise, const u8 *mac_addr, + void *cookie, + void (*callback) (void *cookie, struct key_params * params)) +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37) static s32 wl_cfg80211_get_key(struct wiphy *wiphy, struct net_device *dev, MAYBE_INT_LINK_ID u8 key_idx, bool pairwise, const u8 *mac_addr, void *cookie, @@ -1420,6 +1456,9 @@ wl_cfg80211_get_key(struct wiphy *wiphy, struct net_device *dev, void (*callback) (void *cookie, struct key_params * params)) #endif { +#if LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0) + struct net_device *dev = wdev->netdev; +#endif struct key_params params; struct wl_wsec_key key; struct wl_cfg80211_priv *wl = wiphy_to_wl(wiphy); @@ -1479,12 +1518,19 @@ wl_cfg80211_get_key(struct wiphy *wiphy, struct net_device *dev, static s32 wl_cfg80211_get_station(struct wiphy *wiphy, struct net_device *dev, u8 *mac, struct station_info *sinfo) -#else +#elif LINUX_VERSION_CODE < KERNEL_VERSION(7, 1, 0) static s32 wl_cfg80211_get_station(struct wiphy *wiphy, struct net_device *dev, const u8 *mac, struct station_info *sinfo) +#else +static s32 +wl_cfg80211_get_station(struct wiphy *wiphy, struct wireless_dev *wdev, + const u8 *mac, struct station_info *sinfo) #endif { +#if LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0) + struct net_device *dev = wdev->netdev; +#endif struct wl_cfg80211_priv *wl = wiphy_to_wl(wiphy); scb_val_t scb_val; int rssi; -- 2.53.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.