Search Linux Wireless

[PATCH] When the "hardware" switch is disabled, don't actually allow changing the softblock status.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxx>
---
 drivers/platform/x86/dell-laptop.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
index 90a3d7c..2469ad5 100644
--- a/drivers/platform/x86/dell-laptop.c
+++ b/drivers/platform/x86/dell-laptop.c
@@ -180,6 +180,10 @@ static int dell_rfkill_set(int radio, enum rfkill_state state)
 	int disable = (state == RFKILL_STATE_UNBLOCKED) ? 0 : 1;
 
 	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);
 
-- 
1.6.3.3

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux