Commit be65dde8 authored by Keng-Yu Lin's avatar Keng-Yu Lin Committed by Matthew Garrett

Revert: "dell-laptop: Toggle the unsupported hardware killswitch"

This reverts commit a3d77411,

as it causes a mess in the wireless rfkill status on some models.
It is probably a bad idea to toggle the rfkill for all dell models
without the respect to the claim that it is hardware-controlled.

Cc: stable@kernel.org
Signed-off-by: default avatarKeng-Yu Lin <kengyu@canonical.com>
Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
parent 60cfa098
...@@ -292,12 +292,9 @@ static int dell_rfkill_set(void *data, bool blocked) ...@@ -292,12 +292,9 @@ static int dell_rfkill_set(void *data, bool blocked)
dell_send_request(buffer, 17, 11); dell_send_request(buffer, 17, 11);
/* If the hardware switch controls this radio, and the hardware /* If the hardware switch controls this radio, and the hardware
switch is disabled, don't allow changing the software state. switch is disabled, don't allow changing the software state */
If the hardware switch is reported as not supported, always
fire the SMI to toggle the killswitch. */
if ((hwswitch_state & BIT(hwswitch_bit)) && if ((hwswitch_state & BIT(hwswitch_bit)) &&
!(buffer->output[1] & BIT(16)) && !(buffer->output[1] & BIT(16))) {
(buffer->output[1] & BIT(0))) {
ret = -EINVAL; ret = -EINVAL;
goto out; goto out;
} }
...@@ -403,23 +400,6 @@ static const struct file_operations dell_debugfs_fops = { ...@@ -403,23 +400,6 @@ static const struct file_operations dell_debugfs_fops = {
static void dell_update_rfkill(struct work_struct *ignored) static void dell_update_rfkill(struct work_struct *ignored)
{ {
int status;
get_buffer();
dell_send_request(buffer, 17, 11);
status = buffer->output[1];
release_buffer();
/* if hardware rfkill is not supported, set it explicitly */
if (!(status & BIT(0))) {
if (wifi_rfkill)
dell_rfkill_set((void *)1, !((status & BIT(17)) >> 17));
if (bluetooth_rfkill)
dell_rfkill_set((void *)2, !((status & BIT(18)) >> 18));
if (wwan_rfkill)
dell_rfkill_set((void *)3, !((status & BIT(19)) >> 19));
}
if (wifi_rfkill) if (wifi_rfkill)
dell_rfkill_query(wifi_rfkill, (void *)1); dell_rfkill_query(wifi_rfkill, (void *)1);
if (bluetooth_rfkill) if (bluetooth_rfkill)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment