Re: [PATCH] nf: xt_LED: fix too short led-always-blink

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

 



Hi,

On Fri, Jul 25, 2014 at 09:21:01AM +0200, Jiří Prchal wrote:
> If led-always-blink is set, then between switch led OFF and ON
> is almost zero time. So blink is invisible. This use oneshot led trigger
> with fixed time 50ms witch is enough to see blink.
> 
> Signed-off-by: Jiri <jiri.prchal@xxxxxxxxxxx>
> ---
>  net/netfilter/xt_LED.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/net/netfilter/xt_LED.c b/net/netfilter/xt_LED.c
> index 993de2b..29b5af4 100644
> --- a/net/netfilter/xt_LED.c
> +++ b/net/netfilter/xt_LED.c
> @@ -55,6 +55,7 @@ led_tg(struct sk_buff *skb, const struct xt_action_param *par)
>  {
>  	const struct xt_led_info *ledinfo = par->targinfo;
>  	struct xt_led_info_internal *ledinternal = ledinfo->internal_data;
> +	unsigned long t=50; /* always blink 50ms */

Please, define:

#define XT_LED_BLINK_DELAY 50 /* ms */

And use it in this way:

        unsigned long led_delay = XT_LED_BLINK_DELAY;

so it's consistent with what we have in net/mac80211/led.c

>  	/*
>  	 * If "always blink" is enabled, and there's still some time until the
> @@ -62,9 +63,10 @@ led_tg(struct sk_buff *skb, const struct xt_action_param *par)
>  	 */
>  	if ((ledinfo->delay > 0) && ledinfo->always_blink &&
>  	    timer_pending(&ledinternal->timer))
> -		led_trigger_event(&ledinternal->netfilter_led_trigger, LED_OFF);
> -
> -	led_trigger_event(&ledinternal->netfilter_led_trigger, LED_FULL);
> +		led_trigger_blink_oneshot(&ledinternal->netfilter_led_trigger,
> +					  &t, &t, 1);
> +        else
   ^^^^^^^^

Make sure you use tab identations of 8-chars. I see spaces there :-)

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux