public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
* [patch 03/12] dell_laptop: when the "hardware" switch is disabled, don't actually allow changing the softblock status.
@ 2009-11-17 22:27 akpm
  0 siblings, 0 replies; only message in thread
From: akpm @ 2009-11-17 22:27 UTC (permalink / raw)
  To: lenb; +Cc: linux-acpi, akpm, Mario_Limonciello

From: Mario Limonciello <Mario_Limonciello@Dell.com>

The "hardware" switch is tied directly to a BIOS interface that will
connect and disconnect the hardware from the bus.

If you use the software interface to request the BIOS to make these
changes, the HW switch will be in an inconsistent state and LEDs may not
reflect the state of the HW.

Signed-off-by: Mario Limonciello <Mario_Limonciello@Dell.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 drivers/platform/x86/dell-laptop.c |    4 ++++
 1 file changed, 4 insertions(+)

diff -puN drivers/platform/x86/dell-laptop.c~dell_laptop-when-the-hardware-switch-is-disabled-dont-actually-allow-changing-the-softblock-status drivers/platform/x86/dell-laptop.c
--- a/drivers/platform/x86/dell-laptop.c~dell_laptop-when-the-hardware-switch-is-disabled-dont-actually-allow-changing-the-softblock-status
+++ a/drivers/platform/x86/dell-laptop.c
@@ -181,6 +181,10 @@ static int dell_rfkill_set(void *data, b
 	unsigned long radio = (unsigned long)data;
 
 	memset(&buffer, 0, sizeof(struct calling_interface_buffer));
+	dell_send_request(&buffer, 17, 11);
+	if (!(buffer.output[1] & BIT(16)))
+		return -EINVAL;
+
 	buffer.input[0] = (1 | (radio<<8) | (disable << 16));
 	dell_send_request(&buffer, 17, 11);
 
_

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-11-17 22:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-17 22:27 [patch 03/12] dell_laptop: when the "hardware" switch is disabled, don't actually allow changing the softblock status akpm

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox