dell-laptop: Only enable rfkill functionality on laptops with a hw killswitch

All my testing has been on laptops with a hw killswitch, so to be on the
safe side disable rfkill functionality on models without a hw killswitch for
now. Once we gather some feedback on laptops without a hw killswitch this
decision maybe reconsidered.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
This commit is contained in:
Hans de Goede 2013-11-17 14:00:27 +01:00 committed by Matthew Garrett
parent 8e0e668d0a
commit 2bd4ac1392

View File

@ -580,11 +580,18 @@ static int __init dell_setup_rfkill(void)
buffer->input[0] = 0x2; buffer->input[0] = 0x2;
dell_send_request(buffer, 17, 11); dell_send_request(buffer, 17, 11);
hwswitch_state = buffer->output[1]; hwswitch_state = buffer->output[1];
/* If there is no hwswitch, then clear all hw-controlled bits */
if (!(status & BIT(0)))
hwswitch_state &= ~7;
release_buffer(); release_buffer();
if (!(status & BIT(0))) {
if (force_rfkill) {
/* No hwsitch, clear all hw-controlled bits */
hwswitch_state &= ~7;
} else {
/* rfkill is only tested on laptops with a hwswitch */
return 0;
}
}
if ((status & (1<<2|1<<8)) == (1<<2|1<<8)) { if ((status & (1<<2|1<<8)) == (1<<2|1<<8)) {
wifi_rfkill = rfkill_alloc("dell-wifi", &platform_device->dev, wifi_rfkill = rfkill_alloc("dell-wifi", &platform_device->dev,
RFKILL_TYPE_WLAN, RFKILL_TYPE_WLAN,