about summary refs log tree commit diff
path: root/pkgs/os-specific
diff options
context:
space:
mode:
authorWilliam A. Kennington III <william@wkennington.com>2015-09-20 14:54:53 -0700
committerWilliam A. Kennington III <william@wkennington.com>2015-09-20 14:54:53 -0700
commit3fcbd5a8298c8fc92dfea24e82bb97e0adf9a270 (patch)
tree27521a28a39c219ddd0031faafeb3bb8ba8322ae /pkgs/os-specific
parent1bada3e658d529d13d0fc7f4e83f9556ccefd327 (diff)
parent4a074fae2b9e89e69a36c5278c891d6da362fe19 (diff)
downloadnixlib-3fcbd5a8298c8fc92dfea24e82bb97e0adf9a270.tar
nixlib-3fcbd5a8298c8fc92dfea24e82bb97e0adf9a270.tar.gz
nixlib-3fcbd5a8298c8fc92dfea24e82bb97e0adf9a270.tar.bz2
nixlib-3fcbd5a8298c8fc92dfea24e82bb97e0adf9a270.tar.lz
nixlib-3fcbd5a8298c8fc92dfea24e82bb97e0adf9a270.tar.xz
nixlib-3fcbd5a8298c8fc92dfea24e82bb97e0adf9a270.tar.zst
nixlib-3fcbd5a8298c8fc92dfea24e82bb97e0adf9a270.zip
Merge branch 'master.upstream' into staging.upstream
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r--pkgs/os-specific/linux/broadcom-sta/linux-recent.patch16
-rw-r--r--pkgs/os-specific/linux/kernel/flush_workqueue-export.patch13
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.2.nix8
-rw-r--r--pkgs/os-specific/linux/zfs/0.6.5-fix-corruption.patch28
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix9
-rw-r--r--pkgs/os-specific/linux/zfs/git.nix11
6 files changed, 42 insertions, 43 deletions
diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-recent.patch b/pkgs/os-specific/linux/broadcom-sta/linux-recent.patch
index 81d27204b4e0..a690558eb5b8 100644
--- a/pkgs/os-specific/linux/broadcom-sta/linux-recent.patch
+++ b/pkgs/os-specific/linux/broadcom-sta/linux-recent.patch
@@ -79,7 +79,19 @@
  
  	if (unlikely(!cbss))
  		return -ENOMEM;
-@@ -2071,7 +2096,26 @@
+@@ -2047,7 +2072,11 @@
+ 		}
+ 		else if ((event == WLC_E_LINK && ~(flags & WLC_EVENT_MSG_LINK)) ||
+ 			event == WLC_E_DEAUTH_IND || event == WLC_E_DISASSOC_IND) {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
++			cfg80211_disconnected(ndev, 0, NULL, 0, false, GFP_KERNEL);
++#else
+ 			cfg80211_disconnected(ndev, 0, NULL, 0, GFP_KERNEL);
++#endif
+ 			clear_bit(WL_STATUS_CONNECTED, &wl->status);
+ 			wl_link_down(wl);
+ 			wl_init_prof(wl->profile);
+@@ -2071,7 +2100,26 @@
  			wl_get_assoc_ies(wl);
  			memcpy(&wl->bssid, &e->addr, ETHER_ADDR_LEN);
  			wl_update_bss_info(wl);
@@ -106,7 +118,7 @@
  			set_bit(WL_STATUS_CONNECTED, &wl->status);
  			wl->profile->active = true;
  		}
-@@ -2629,7 +2673,15 @@
+@@ -2629,7 +2677,15 @@
  
  void wl_cfg80211_detach(struct net_device *ndev)
  {
diff --git a/pkgs/os-specific/linux/kernel/flush_workqueue-export.patch b/pkgs/os-specific/linux/kernel/flush_workqueue-export.patch
new file mode 100644
index 000000000000..17583e317306
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/flush_workqueue-export.patch
@@ -0,0 +1,13 @@
+diff --git a/kernel/workqueue.c b/kernel/workqueue.c
+index 4c4f061..a413acb 100644
+--- a/kernel/workqueue.c
++++ b/kernel/workqueue.c
+@@ -2614,7 +2614,7 @@ void flush_workqueue(struct workqueue_struct *wq)
+ out_unlock:
+ 	mutex_unlock(&wq->mutex);
+ }
+-EXPORT_SYMBOL_GPL(flush_workqueue);
++EXPORT_SYMBOL(flush_workqueue);
+ 
+ /**
+  * drain_workqueue - drain a workqueue
diff --git a/pkgs/os-specific/linux/kernel/linux-4.2.nix b/pkgs/os-specific/linux/kernel/linux-4.2.nix
index ff5fd912db30..aa87249e5c90 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.2.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.2.nix
@@ -15,4 +15,12 @@ import ./generic.nix (args // rec {
   features.needsCifsUtils = true;
   features.canDisableNetfilterConntrackHelpers = true;
   features.netfilterRPFilter = true;
+
+  # cherry-pick from upstream to resolve a licensing problem that prevents
+  # compiling the broadcom-sta wireless driver on kernels >= 4.2
+  # see: https://github.com/longsleep/bcmwl-ubuntu/issues/6
+  kernelPatches = [ {
+    name = "flush-workqueue-export";
+    patch = ./flush_workqueue-export.patch;
+  } ];
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/zfs/0.6.5-fix-corruption.patch b/pkgs/os-specific/linux/zfs/0.6.5-fix-corruption.patch
deleted file mode 100644
index af4ce1333c84..000000000000
--- a/pkgs/os-specific/linux/zfs/0.6.5-fix-corruption.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 96165264ad0afe7a5d440ef49f9712a188486266 Mon Sep 17 00:00:00 2001
-From: Richard Yao <ryao@gentoo.org>
-Date: Fri, 18 Sep 2015 08:32:52 -0400
-Subject: [PATCH] Discard on zvols should not exceed the length of a block
-
-37f9dac592bf5889c3efb305c48ac39b4c7dd140 replaced the end-start
-calculation with a cached value, but neglected to update it on discard
-operations. This can cause us to discard data not requested, causing
-data loss on zvols.
-
-Reported-by: Richard Connon <richard.connon@zynstra.com>
-Signed-off-by: Richard Yao <ryao@gentoo.org>
----
- module/zfs/zvol.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/module/zfs/zvol.c b/module/zfs/zvol.c
-index 492f8ff..c5a8071 100644
---- a/module/zfs/zvol.c
-+++ b/module/zfs/zvol.c
-@@ -661,6 +661,7 @@ zvol_discard(struct bio *bio)
- 	if (!(bio->bi_rw & REQ_SECURE)) {
- 		start = P2ROUNDUP(start, zv->zv_volblocksize);
- 		end = P2ALIGN(end, zv->zv_volblocksize);
-+		size = end - start;
- 	}
- #endif
- 
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index df74f1c76e20..1432fa3e79bb 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -1,17 +1,14 @@
 { callPackage, fetchFromGitHub, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "0.6.5";
+  version = "0.6.5.1";
 
   src = fetchFromGitHub {
     owner = "zfsonlinux";
     repo = "zfs";
     rev = "zfs-${version}";
-    sha256 = "1jqm2a9mldp4km5m454zszsw6p8hrqd7xrbf52pgp82kf5w3d6wz";
+    sha256 = "0lbii5kc3b68zj8mvvznl05czwdkr0ld3a2javbkngfvrcn09rz2";
   };
 
-  patches = [
-    ./nix-build.patch
-    ./0.6.5-fix-corruption.patch
-  ];
+  patches = [ ./nix-build.patch ];
 })
diff --git a/pkgs/os-specific/linux/zfs/git.nix b/pkgs/os-specific/linux/zfs/git.nix
index bf127301d2e3..0423d139c83c 100644
--- a/pkgs/os-specific/linux/zfs/git.nix
+++ b/pkgs/os-specific/linux/zfs/git.nix
@@ -1,19 +1,16 @@
 { callPackage, stdenv, fetchFromGitHub, spl_git, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "2015-09-11";
+  version = "2015-09-19";
 
   src = fetchFromGitHub {
     owner = "zfsonlinux";
     repo = "zfs";
-    rev = "7a27ad00ae142b38d4aef8cc0af7a72b4c0e44fe";
-    sha256 = "1jqm2a9mldp4km5m454zszsw6p8hrqd7xrbf52pgp82kf5w3d6wz";
+    rev = "3af56fd95fbe8b417d7ed7c9c25ef59d6f1ee161";
+    sha256 = "08sx1jzwrsdyvvlcf5as7rkglgbx5x6zvfn8ps8gk4miqfckq4z0";
   };
 
-  patches = [
-    ./nix-build.patch
-    ./0.6.5-fix-corruption.patch
-  ];
+  patches = [ ./nix-build.patch ];
 
   spl = spl_git;
 })