Search Linux Wireless

Re: [PATCH] rfkill: Fix broken rfkill LED in 2.6.30-rc1

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

 



On Thu, 2009-04-09 at 22:14 -0500, Larry Finger wrote:
> The rfkill system fails to issue a LED trigger event when the rfkill state
> changes.

I have no issues with this patch, and will just port my rewrite over it
-- I'll get back to the rewrite next week for good, hopefully.

johannes

> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
> ---
> 
> John,
> 
> This is 2.6.31 material.
> 
> Larry
> ---
> 
> Index: wireless-testing/net/rfkill/rfkill.c
> ===================================================================
> --- wireless-testing.orig/net/rfkill/rfkill.c
> +++ wireless-testing/net/rfkill/rfkill.c
> @@ -96,6 +96,7 @@ static void update_rfkill_state(struct r
>  		}
>  		mutex_unlock(&rfkill->mutex);
>  	}
> +	rfkill_led_trigger(rfkill, rfkill->state);
>  }
>  
>  /**
> @@ -136,8 +137,9 @@ static int rfkill_toggle_radio(struct rf
>  	oldstate = rfkill->state;
>  
>  	if (rfkill->get_state && !force &&
> -	    !rfkill->get_state(rfkill->data, &newstate))
> +	    !rfkill->get_state(rfkill->data, &newstate)) {
>  		rfkill->state = newstate;
> +	}
>  
>  	switch (state) {
>  	case RFKILL_STATE_HARD_BLOCKED:
> @@ -172,6 +174,7 @@ static int rfkill_toggle_radio(struct rf
>  	if (force || rfkill->state != oldstate)
>  		rfkill_uevent(rfkill);
>  
> +	rfkill_led_trigger(rfkill, rfkill->state);
>  	return retval;
>  }
>  
> @@ -204,6 +207,7 @@ static void __rfkill_switch_all(const en
>  			mutex_lock(&rfkill->mutex);
>  			rfkill_toggle_radio(rfkill, state, 0);
>  			mutex_unlock(&rfkill->mutex);
> +			rfkill_led_trigger(rfkill, rfkill->state);
>  		}
>  	}
>  }
> @@ -256,6 +260,7 @@ void rfkill_epo(void)
>  				RFKILL_STATE_SOFT_BLOCKED;
>  	}
>  	mutex_unlock(&rfkill_global_mutex);
> +	rfkill_led_trigger(rfkill, rfkill->state);
>  }
>  EXPORT_SYMBOL_GPL(rfkill_epo);
>  
> @@ -358,6 +363,7 @@ int rfkill_force_state(struct rfkill *rf
>  		rfkill_uevent(rfkill);
>  
>  	mutex_unlock(&rfkill->mutex);
> +	rfkill_led_trigger(rfkill, rfkill->state);
>  
>  	return 0;
>  }
> @@ -520,6 +526,7 @@ static int rfkill_resume(struct device *
>  				1);
>  
>  		mutex_unlock(&rfkill->mutex);
> +		rfkill_led_trigger(rfkill, rfkill->state);
>  	}
>  
>  	return 0;
> 

Attachment: signature.asc
Description: This is a digitally signed message part


[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