summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2010-07-25 12:15:59 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2010-07-25 12:15:59 +0000
commit3f287cfb1d3571e8149c47a0460d15282e47dc45 (patch)
tree4018d1ce907d7e56ee58b6d8eb190b7342b19f4c
parente6ff6558d63e2d4365e9069ba492389126e7fb13 (diff)
* Ensure that the dell-bluetooth device does not stay in the "hard backups/x-updates@22736
  blocked" state.

svn path=/nixpkgs/branches/x-updates/; revision=22730
-rw-r--r--pkgs/os-specific/linux/kernel/dell-rfkill.patch23
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix5
-rw-r--r--pkgs/top-level/all-packages.nix1
3 files changed, 29 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/kernel/dell-rfkill.patch b/pkgs/os-specific/linux/kernel/dell-rfkill.patch
new file mode 100644
index 0000000000000..32f890c84f660
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/dell-rfkill.patch
@@ -0,0 +1,23 @@
+Ensure that the dell-bluetooth device does not stay in the "hard
+blocked" state.
+
+From https://patchwork.kernel.org/patch/37539/
+
+diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
+index 74909c4..cf40c4e 100644
+--- a/drivers/platform/x86/dell-laptop.c
++++ b/drivers/platform/x86/dell-laptop.c
+@@ -197,8 +197,11 @@  static void dell_rfkill_query(struct rfkill *rfkill, void *data)
+ 	dell_send_request(&buffer, 17, 11);
+ 	status = buffer.output[1];
+ 
+-	if (status & BIT(bit))
+-		rfkill_set_hw_state(rfkill, !!(status & BIT(16)));
++	/*
++	 * Don't change state unless the read-only HW rfkill switch is disabled.
++	 */
++	if (status & BIT(16))
++		rfkill_set_hw_state(rfkill, !!(status & BIT(bit)));
+ }
+ 
+ static const struct rfkill_ops dell_rfkill_ops = {
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index 12370c9887998..4019348375a82 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -172,5 +172,10 @@ in
       };
       features.noXsave = true;
     };
+
+  dell_rfkill =
+    { name = "dell-rfkill";
+      patch = ./dell-rfkill.patch;
+    };
   
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f7f0e974dd5ed..3f13c7b9db9e9 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6523,6 +6523,7 @@ let
         kernelPatches.aufs2_2_6_32
         kernelPatches.cifs_timeout
         kernelPatches.no_xsave
+        kernelPatches.dell_rfkill
       ];
   };