commit e690ac7350fdeece7df15978e78841605c0c9c3d
Author: Nicolas Viéville <nicolas.vieville(a)uphf.fr>
Date: Fri Mar 20 10:58:34 2020 +0100
Add patch for kernel >= 5.6 - fixes RFBZ#5565
wl-kmod-018_kernel_5.6_adaptations.patch | 59 ++++++++++++++++++++++++++++++++
wl-kmod.spec | 7 +++-
2 files changed, 65 insertions(+), 1 deletion(-)
---
diff --git a/wl-kmod-018_kernel_5.6_adaptations.patch
b/wl-kmod-018_kernel_5.6_adaptations.patch
new file mode 100644
index 0000000..8f59570
--- /dev/null
+++ b/wl-kmod-018_kernel_5.6_adaptations.patch
@@ -0,0 +1,59 @@
+diff -Naur hybrid-v35_64-nodebug-pcoem-6_30_223_271.orig/src/shared/linux_osl.c
hybrid-v35_64-nodebug-pcoem-6_30_223_271/src/shared/linux_osl.c
+--- hybrid-v35_64-nodebug-pcoem-6_30_223_271.orig/src/shared/linux_osl.c 2019-01-26
19:33:46.518389000 +0100
++++ hybrid-v35_64-nodebug-pcoem-6_30_223_271/src/shared/linux_osl.c 2020-03-19
10:16:53.597986455 +0100
+@@ -946,7 +946,11 @@
+ void *
+ osl_reg_map(uint32 pa, uint size)
+ {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 6, 0)
+ return (ioremap_nocache((unsigned long)pa, (unsigned long)size));
++#else
++ return (ioremap((unsigned long)pa, (unsigned long)size));
++#endif
+ }
+
+ void
+diff -Naur hybrid-v35_64-nodebug-pcoem-6_30_223_271.orig/src/wl/sys/wl_linux.c
hybrid-v35_64-nodebug-pcoem-6_30_223_271/src/wl/sys/wl_linux.c
+--- hybrid-v35_64-nodebug-pcoem-6_30_223_271.orig/src/wl/sys/wl_linux.c 2018-04-18
13:53:37.484164000 +0200
++++ hybrid-v35_64-nodebug-pcoem-6_30_223_271/src/wl/sys/wl_linux.c 2020-03-19
10:24:18.154395810 +0100
+@@ -586,7 +586,11 @@
+ }
+ wl->bcm_bustype = bustype;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 6, 0)
+ if ((wl->regsva = ioremap_nocache(dev->base_addr, PCI_BAR0_WINSZ)) == NULL) {
++#else
++ if ((wl->regsva = ioremap(dev->base_addr, PCI_BAR0_WINSZ)) == NULL) {
++#endif
+ WL_ERROR(("wl%d: ioremap() failed\n", unit));
+ goto fail;
+ }
+@@ -780,7 +784,11 @@
+ if ((val & 0x0000ff00) != 0)
+ pci_write_config_dword(pdev, 0x40, val & 0xffff00ff);
+ bar1_size = pci_resource_len(pdev, 2);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 6, 0)
+ bar1_addr = (uchar *)ioremap_nocache(pci_resource_start(pdev, 2),
++#else
++ bar1_addr = (uchar *)ioremap(pci_resource_start(pdev, 2),
++#endif
+ bar1_size);
+ wl = wl_attach(pdev->vendor, pdev->device, pci_resource_start(pdev, 0), PCI_BUS,
pdev,
+ pdev->irq, bar1_addr, bar1_size);
+@@ -3373,10 +3381,16 @@
+ }
+
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 6, 0)
+ static const struct file_operations wl_fops = {
+ .owner = THIS_MODULE,
+ .read = wl_proc_read,
+ .write = wl_proc_write,
++#else
++static const struct proc_ops wl_fops = {
++ .proc_read = wl_proc_read,
++ .proc_write = wl_proc_write,
++#endif
+ };
+ #endif
+
diff --git a/wl-kmod.spec b/wl-kmod.spec
index 3a46d26..6d01d6e 100644
--- a/wl-kmod.spec
+++ b/wl-kmod.spec
@@ -10,7 +10,7 @@
Name: wl-kmod
Version: 6.30.223.271
-Release: 31%{?dist}
+Release: 32%{?dist}
Summary: Kernel module for Broadcom wireless devices
Group: System Environment/Kernel
License: Redistributable, no modification permitted
@@ -35,6 +35,7 @@ Patch13: wl-kmod-014_kernel_read_pos_increment_fix.patch
Patch14: wl-kmod-015_kernel_5.1_get_ds_removed.patch
Patch15: wl-kmod-016_fix_unsupported_mesh_point.patch
Patch16: wl-kmod-017_fix_gcc_fallthrough_warning.patch
+Patch17: wl-kmod-018_kernel_5.6_adaptations.patch
# needed for plague to make sure it builds for i586 and i686
ExclusiveArch: i686 x86_64
@@ -92,6 +93,7 @@ pushd %{name}-%{version}-src
%patch14 -p1 -b .kernel_5.1_get_ds_removed
%patch15 -p1 -b .fix_unsupported_mesh_point
%patch16 -p1 -b .fix_gcc_fallthrough_warning.patch
+%patch17 -p1 -b .kernel_5.6_adaptations.patch
# Manual patching to build for RHEL - inspired by CentOS wl-kmod.spec
# Actually works for RHEL 6.x and 7.x
@@ -281,6 +283,9 @@ chmod 0755
$RPM_BUILD_ROOT%{kmodinstdir_prefix}*%{kmodinstdir_postfix}/* || :
rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Mar 19 2020 Nicolas Viéville <nicolas.vieville(a)uphf.fr> - 6.30.223.271-32
+- Add patch for kernel >= 5.6 - fixes RFBZ#5565
+
* Wed Feb 05 2020 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> -
6.30.223.271-31
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild