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 <[email protected]>
> ---
> 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 linux-leds" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html