Author: nvieville
Update of /cvs/nonfree/rpms/wl-kmod/devel
In directory old02.ovh.rpmfusion.lan:/tmp/cvs-serv3858
Modified Files:
wl-kmod.spec
Added Files:
broadcom-wl-5.100.82.112-kernel-3.8.patch
Log Message:
* Fri Mar 01 2013 Nicolas Vieville <nicolas.vieville(a)univ-valenciennes.fr> -
5.100.82.112-8
- Added patch to build for kernel >= 3.8
broadcom-wl-5.100.82.112-kernel-3.8.patch:
include/bcmutils.h | 4 ++++
wl/sys/wl_cfg80211.c | 20 ++++++++++++++++++++
2 files changed, 24 insertions(+)
--- NEW FILE broadcom-wl-5.100.82.112-kernel-3.8.patch ---
diff -Naur hybrid-portsrc_x86_32-v5_100_82_112.orig/src/include/bcmutils.h
hybrid-portsrc_x86_32-v5_100_82_112/src/include/bcmutils.h
--- hybrid-portsrc_x86_32-v5_100_82_112.orig/src/include/bcmutils.h 2011-10-22
18:56:55.000000000 +0200
+++ hybrid-portsrc_x86_32-v5_100_82_112/src/include/bcmutils.h 2013-03-01
16:30:53.730371474 +0100
@@ -555,7 +555,11 @@
extern void prhex(const char *msg, uchar *buf, uint len);
extern bcm_tlv_t *BCMROMFN(bcm_next_tlv)(bcm_tlv_t *elt, int *buflen);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
extern bcm_tlv_t *BCMROMFN(bcm_parse_tlvs)(void *buf, int buflen, uint key);
+#else
+extern bcm_tlv_t *BCMROMFN(bcm_parse_tlvs)(const void *buf, int buflen, uint key);
+#endif
extern bcm_tlv_t *BCMROMFN(bcm_parse_ordered_tlvs)(void *buf, int buflen, uint key);
extern const char *bcmerrorstr(int bcmerror);
diff -Naur hybrid-portsrc_x86_32-v5_100_82_112.orig/src/wl/sys/wl_cfg80211.c
hybrid-portsrc_x86_32-v5_100_82_112/src/wl/sys/wl_cfg80211.c
--- hybrid-portsrc_x86_32-v5_100_82_112.orig/src/wl/sys/wl_cfg80211.c 2012-11-07
18:16:51.000000000 +0100
+++ hybrid-portsrc_x86_32-v5_100_82_112/src/wl/sys/wl_cfg80211.c 2013-03-01
16:40:19.344706682 +0100
@@ -751,7 +751,11 @@
else
memset(&join_params.params.bssid, 0, ETHER_ADDR_LEN);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
wl_ch_to_chanspec(params->channel, &join_params, &join_params_size);
+#else
+ wl_ch_to_chanspec(params->chandef.chan, &join_params, &join_params_size);
+#endif
err = wl_dev_ioctl(dev, WLC_SET_SSID, &join_params, join_params_size);
if (err) {
@@ -2054,7 +2058,12 @@
u16 beacon_interval;
s32 dtim_period;
size_t ie_len;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
u8 *ie;
+#else
+ const u8 *ie;
+ const struct cfg80211_bss_ies *ies;
+#endif
s32 err = 0;
ssid = &wl->profile->ssid;
@@ -2085,8 +2094,19 @@
beacon_interval = cpu_to_le16(bi->beacon_period);
} else {
WL_DBG(("Found the AP in the list - BSSID %pM\n", bss->bssid));
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
ie = bss->information_elements;
ie_len = bss->len_information_elements;
+#else
+ ies = (const struct cfg80211_bss_ies*)rcu_dereference(bss->ies);
+ if (!ies) {
+ /* This should never happen */
+ err = -EIO;
+ goto update_bss_info_out;
+ }
+ ie = ies->data;
+ ie_len = (size_t)(ies->len);
+#endif
beacon_interval = bss->beacon_interval;
cfg80211_put_bss(bss);
}
Index: wl-kmod.spec
===================================================================
RCS file: /cvs/nonfree/rpms/wl-kmod/devel/wl-kmod.spec,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -r1.71 -r1.72
--- wl-kmod.spec 21 Nov 2012 12:16:10 -0000 1.71
+++ wl-kmod.spec 1 Mar 2013 16:55:22 -0000 1.72
@@ -3,31 +3,32 @@
# "buildforkernels newest" macro for just that build; immediately after
# queuing that build enable the macro again for subsequent builds; that way
# a new akmod package will only get build when a new one is actually needed
-%define buildforkernels akmod
+%global buildforkernels akmod
-Name: wl-kmod
-Version: 5.100.82.112
-Release: 7%{?dist}
-Summary: Kernel module for Broadcom wireless devices
-Group: System Environment/Kernel
-License: Redistributable, no modification permitted
-URL:
http://www.broadcom.com/support/802.11/linux_sta.php
-Source0:
http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_32-v5_100_82_11...
-Source1:
http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_64-v5_100_82_11...
-Source11: broadcom-wl-kmodtool-excludekernel-filterfile
-Patch0: broadcom-wl-5.100.82.112-license.patch
-Patch1: broadcom-wl-5.100.82.112-kernel-3.2.patch
-Patch2: broadcom-wl-5.100.82.112-kernel-3.4.patch
-Patch3: broadcom-wl-5.100.82.112-cfg80211.patch
-Patch4: broadcom-wl-5.100.82.112-kernel-3.6.patch
-Patch5: broadcom-wl-5.100.82.112-recent_kernel_semaphore.patch
-Patch6: broadcom-wl-5.100.82.112-recent_kernel_ioctl.patch
-Patch7: broadcom-wl-5.100.82.112-wext_workaround.patch
+Name: wl-kmod
+Version: 5.100.82.112
+Release: 8%{?dist}
+Summary: Kernel module for Broadcom wireless devices
+Group: System Environment/Kernel
+License: Redistributable, no modification permitted
+URL:
http://www.broadcom.com/support/802.11/linux_sta.php
+Source0:
http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_32-v5_100_82_11...
+Source1:
http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_64-v5_100_82_11...
+Source11: broadcom-wl-kmodtool-excludekernel-filterfile
+Patch0: broadcom-wl-5.100.82.112-license.patch
+Patch1: broadcom-wl-5.100.82.112-kernel-3.2.patch
+Patch2: broadcom-wl-5.100.82.112-kernel-3.4.patch
+Patch3: broadcom-wl-5.100.82.112-cfg80211.patch
+Patch4: broadcom-wl-5.100.82.112-kernel-3.6.patch
+Patch5: broadcom-wl-5.100.82.112-recent_kernel_semaphore.patch
+Patch6: broadcom-wl-5.100.82.112-recent_kernel_ioctl.patch
+Patch7: broadcom-wl-5.100.82.112-wext_workaround.patch
+Patch8: broadcom-wl-5.100.82.112-kernel-3.8.patch
-BuildRequires: %{_bindir}/kmodtool
+BuildRequires: %{_bindir}/kmodtool
# needed for plague to make sure it builds for i586 and i686
-ExclusiveArch: i686 x86_64
+ExclusiveArch: i686 x86_64
# ppc disabled because broadcom only provides x86 and x86_64 bits
%{!?kernels:BuildRequires:
buildsys-build-rpmfusion-kerneldevpkgs-%{?buildforkernels:%{buildforkernels}}%{!?buildforkernels:current}-%{_target_cpu}
}
@@ -68,6 +69,7 @@
%patch5 -p1 -b .recent_kernel_semaphore
%patch6 -p1 -b .recent_kernel_ioctl
%patch7 -p1 -b .wext_workaround.patch
+%patch8 -p1 -b .kernel-3.8
popd
for kernel_version in %{?kernel_versions} ; do
@@ -97,6 +99,9 @@
rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Mar 01 2013 Nicolas Vieville <nicolas.vieville(a)univ-valenciennes.fr> -
5.100.82.112-8
+- Added patch to build for kernel >= 3.8
+
* Wed Nov 21 2012 Nicolas Viéville <nicolas.vieville(a)univ-valenciennes.fr> -
5.100.82.112-7
- Added patch to choose API at build time (WEXT or CFG80211) to workaround #2548 #2562
- Others patches cleaned-up