summary refs log tree commit diff
diff options
context:
space:
mode:
authorgeorgewhewell <georgerw@gmail.com>2019-05-18 21:36:26 +0100
committergeorgewhewell <georgerw@gmail.com>2019-05-18 21:36:26 +0100
commit75a60db00e85589791cbc7db676415fe4beca05a (patch)
tree01d02f0f47dcb5defcfda0465b36fcffceb8016a
parent60277c7d5ee018d068babc3875eb9c0c2fc49d1c (diff)
downloadnixpkgs-75a60db00e85589791cbc7db676415fe4beca05a.tar
nixpkgs-75a60db00e85589791cbc7db676415fe4beca05a.tar.gz
nixpkgs-75a60db00e85589791cbc7db676415fe4beca05a.tar.bz2
nixpkgs-75a60db00e85589791cbc7db676415fe4beca05a.tar.lz
nixpkgs-75a60db00e85589791cbc7db676415fe4beca05a.tar.xz
nixpkgs-75a60db00e85589791cbc7db676415fe4beca05a.tar.zst
nixpkgs-75a60db00e85589791cbc7db676415fe4beca05a.zip
broadcom_sta: fix build on linux-5.1
-rw-r--r--pkgs/os-specific/linux/broadcom-sta/default.nix1
-rw-r--r--pkgs/os-specific/linux/broadcom-sta/linux-5.1.patch32
2 files changed, 33 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/broadcom-sta/default.nix b/pkgs/os-specific/linux/broadcom-sta/default.nix
index 541539522f8..93ac3fe5b74 100644
--- a/pkgs/os-specific/linux/broadcom-sta/default.nix
+++ b/pkgs/os-specific/linux/broadcom-sta/default.nix
@@ -34,6 +34,7 @@ stdenv.mkDerivation {
     # source: https://aur.archlinux.org/cgit/aur.git/tree/linux412.patch?h=broadcom-wl
     ./linux-4.12.patch
     ./linux-4.15.patch
+    ./linux-5.1.patch
     ./null-pointer-fix.patch
     ./gcc.patch
   ];
diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-5.1.patch b/pkgs/os-specific/linux/broadcom-sta/linux-5.1.patch
new file mode 100644
index 00000000000..8f04a737cab
--- /dev/null
+++ b/pkgs/os-specific/linux/broadcom-sta/linux-5.1.patch
@@ -0,0 +1,32 @@
+commit bcb06af629a36eb84f9a35ac599ec7e51e2d39fb
+Author: georgewhewell <georgerw@gmail.com>
+Date:   Sat May 18 21:22:37 2019 +0100
+
+    find src -type f -name \'*.c\' -exec sed -i "s/get_ds()/KERNEL_DS/g" {} \;
+
+diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
+index 7b606e0..51c81bc 100644
+--- a/src/wl/sys/wl_cfg80211_hybrid.c
++++ b/src/wl/sys/wl_cfg80211_hybrid.c
+@@ -450,7 +450,7 @@ wl_dev_ioctl(struct net_device *dev, u32 cmd, void *arg, u32 len)
+ 	ifr.ifr_data = (caddr_t)&ioc;
+ 
+ 	fs = get_fs();
+-	set_fs(get_ds());
++	set_fs(KERNEL_DS);
+ #if defined(WL_USE_NETDEV_OPS)
+ 	err = dev->netdev_ops->ndo_do_ioctl(dev, &ifr, SIOCDEVPRIVATE);
+ #else
+diff --git a/src/wl/sys/wl_iw.c b/src/wl/sys/wl_iw.c
+index c4c610b..9c3c74e 100644
+--- a/src/wl/sys/wl_iw.c
++++ b/src/wl/sys/wl_iw.c
+@@ -117,7 +117,7 @@ dev_wlc_ioctl(
+ 	ifr.ifr_data = (caddr_t) &ioc;
+ 
+ 	fs = get_fs();
+-	set_fs(get_ds());
++	set_fs(KERNEL_DS);
+ #if defined(WL_USE_NETDEV_OPS)
+ 	ret = dev->netdev_ops->ndo_do_ioctl(dev, &ifr, SIOCDEVPRIVATE);
+ #else