commit b7c66d6478c8a293c89db7df1a0be8e765eb6368
Author: Nicolas Viéville <nicolas.vieville(a)univ-valenciennes.fr>
Date: Sat Jun 3 16:44:56 2017 +0200
Add patch for kernel >= 4.12 - add cfg80211_roam_info struct in wl_bss_roaming_done
function
...kernel_4.12_add_cfg80211_roam_info_struct.patch | 41 ++++++++++++++++++++++
wl-kmod.spec | 7 +++-
2 files changed, 47 insertions(+), 1 deletion(-)
---
diff --git a/wl-kmod-010_kernel_4.12_add_cfg80211_roam_info_struct.patch
b/wl-kmod-010_kernel_4.12_add_cfg80211_roam_info_struct.patch
new file mode 100644
index 0000000..bbc6622
--- /dev/null
+++ b/wl-kmod-010_kernel_4.12_add_cfg80211_roam_info_struct.patch
@@ -0,0 +1,41 @@
+diff -Naur hybrid-v35_64-nodebug-pcoem-6_30_223_271.orig/src/wl/sys/wl_cfg80211_hybrid.c
hybrid-v35_64-nodebug-pcoem-6_30_223_271/src/wl/sys/wl_cfg80211_hybrid.c
+---
hybrid-v35_64-nodebug-pcoem-6_30_223_271.orig/src/wl/sys/wl_cfg80211_hybrid.c 2017-04-10
14:23:40.909434506 +0200
++++ hybrid-v35_64-nodebug-pcoem-6_30_223_271/src/wl/sys/wl_cfg80211_hybrid.c 2017-06-03
15:40:21.595077248 +0200
+@@ -2440,6 +2440,9 @@
+ const wl_event_msg_t *e, void *data)
+ {
+ struct wl_cfg80211_connect_info *conn_info = wl_to_conn(wl);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
++ struct cfg80211_roam_info roam_info = {};
++#endif
+ s32 err = 0;
+
+ err = wl_get_assoc_ies(wl);
+@@ -2453,13 +2456,27 @@
+ if (err)
+ return err;
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
++ roam_info.channel = &wl->conf->channel;
++ roam_info.bssid = (u8*)&wl->bssid;
++ roam_info.req_ie = conn_info->req_ie;
++ roam_info.req_ie_len = conn_info->req_ie_len;
++ roam_info.resp_ie = conn_info->resp_ie;
++ roam_info.resp_ie_len = conn_info->resp_ie_len;
++#endif
++
+ cfg80211_roamed(ndev,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0)
+ #if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 39)
+ &wl->conf->channel,
+ #endif
+ (u8 *)&wl->bssid,
+ conn_info->req_ie, conn_info->req_ie_len,
+ conn_info->resp_ie, conn_info->resp_ie_len, GFP_KERNEL);
++#else
++ &roam_info, GFP_KERNEL);
++#endif
++
+ WL_DBG(("Report roaming result\n"));
+
+ set_bit(WL_STATUS_CONNECTED, &wl->status);
diff --git a/wl-kmod.spec b/wl-kmod.spec
index c212a08..66c1e13 100644
--- a/wl-kmod.spec
+++ b/wl-kmod.spec
@@ -8,7 +8,7 @@
Name: wl-kmod
Version: 6.30.223.271
-Release: 11%{?dist}
+Release: 12%{?dist}
Summary: Kernel module for Broadcom wireless devices
Group: System Environment/Kernel
License: Redistributable, no modification permitted
@@ -25,6 +25,7 @@ Patch5: wl-kmod-006_gcc_6_fix_indentation_warnings.patch
Patch6: wl-kmod-007_kernel_4.8_add_cfg80211_scan_info_struct.patch
Patch7: wl-kmod-008_fix_kernel_warnings.patch
Patch8: wl-kmod-009_kernel_4.11_remove_last_rx_in_net_device_struct.patch
+Patch9: wl-kmod-010_kernel_4.12_add_cfg80211_roam_info_struct.patch
# needed for plague to make sure it builds for i586 and i686
ExclusiveArch: i686 x86_64
@@ -74,6 +75,7 @@ pushd %{name}-%{version}-src
%patch6 -p1 -b .kernel_4.8_add_cfg80211_scan_info_struct
%patch7 -p1 -b .fix_kernel_warnings
%patch8 -p1 -b .kernel_4.11_remove_last_rx_in_net_device_struct
+%patch9 -p1 -b .kernel_4.12_add_cfg80211_roam_info_struct
popd
for kernel_version in %{?kernel_versions} ; do
@@ -103,6 +105,9 @@ chmod 0755
$RPM_BUILD_ROOT%{kmodinstdir_prefix}*%{kmodinstdir_postfix}/* || :
rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Jun 03 2017 Nicolas Viéville <nicolas.vieville(a)univ-valenciennes.fr> -
6.30.223.271-12
+- Add patch for kernel >= 4.12 - add cfg80211_roam_info struct in wl_bss_roaming_done
function
+
* Wed Apr 12 2017 Nicolas Viéville <nicolas.vieville(a)univ-valenciennes.fr> -
6.30.223.271-11
- Add akmod-wl AkmodsBuildRequires and fix package BuildRequires