dell-laptop: Allow changing the sw_state while the radio is blocked by hw
authorHans de Goede <hdegoede@redhat.com>
Sun, 17 Nov 2013 13:00:22 +0000 (14:00 +0100)
committerMatthew Garrett <matthew.garrett@nebula.com>
Wed, 20 Nov 2013 23:50:48 +0000 (18:50 -0500)
This makes dell-laptop's rfkill code consistent with other drivers which
allow sw_state changes while hw blocked.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
drivers/platform/x86/dell-laptop.c

index 80de0cca1dfa3040d1297f69200dcb68a0c18261..834f499a6aeca4a4869440955a013ae56529315e 100644 (file)
@@ -404,7 +404,6 @@ static int dell_rfkill_set(void *data, bool blocked)
        int disable = blocked ? 1 : 0;
        unsigned long radio = (unsigned long)data;
        int hwswitch_bit = (unsigned long)data - 1;
-       int ret = 0;
 
        get_buffer();
        dell_send_request(buffer, 17, 11);
@@ -412,17 +411,15 @@ static int dell_rfkill_set(void *data, bool blocked)
        /* If the hardware switch controls this radio, and the hardware
           switch is disabled, don't allow changing the software state */
        if ((hwswitch_state & BIT(hwswitch_bit)) &&
-           !(buffer->output[1] & BIT(16))) {
-               ret = -EINVAL;
+           !(buffer->output[1] & BIT(16)))
                goto out;
-       }
 
        buffer->input[0] = (1 | (radio<<8) | (disable << 16));
        dell_send_request(buffer, 17, 11);
 
 out:
        release_buffer();
-       return ret;
+       return 0;
 }
 
 static void dell_rfkill_update_sw_state(struct rfkill *rfkill, int radio,