ACK: [PATCH] Revert: "dell-laptop: Toggle the unsupported hardware killswitch"

Tim Gardner tim.gardner at canonical.com
Wed Jun 29 13:54:54 UTC 2011


On 06/27/2011 06:01 PM, Keng-Yu Lin wrote:
> This reverts commit a3d77411e8b2ad661958c1fbee65beb476ec6d70,
>
> 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.
>
> BugLink: http://bugs.launchpad.net/bugs/775281
>
> Signed-off-by: Keng-Yu Lin<kengyu at canonical.com>
> ---
>   drivers/platform/x86/dell-laptop.c |   24 ++----------------------
>   1 files changed, 2 insertions(+), 22 deletions(-)
>
> diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
> index ad24ef3..34657f9 100644
> --- a/drivers/platform/x86/dell-laptop.c
> +++ b/drivers/platform/x86/dell-laptop.c
> @@ -290,12 +290,9 @@ static int dell_rfkill_set(void *data, bool blocked)
>   	dell_send_request(buffer, 17, 11);
>
>   	/* If the hardware switch controls this radio, and the hardware
> -	   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. */
> +	   switch is disabled, don't allow changing the software state */
>   	if ((hwswitch_state&  BIT(hwswitch_bit))&&
> -	    !(buffer->output[1]&  BIT(16))&&
> -	    (buffer->output[1]&  BIT(0))) {
> +	    !(buffer->output[1]&  BIT(16))) {
>   		ret = -EINVAL;
>   		goto out;
>   	}
> @@ -401,23 +398,6 @@ static const struct file_operations dell_debugfs_fops = {
>
>   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)
>   		dell_rfkill_query(wifi_rfkill, (void *)1);
>   	if (bluetooth_rfkill)

Acked-by: Tim Gardner <tim.gardner at canonical.com>
-- 
Tim Gardner tim.gardner at canonical.com




More information about the kernel-team mailing list