From: rmilecki Date: Sat, 2 Jan 2016 22:15:40 +0000 (+0000) Subject: ledtrig-netdev: don't stop timer on events for different interfaces X-Git-Url: https://git.archive.openwrt.org/?p=15.05%2Fopenwrt.git;a=commitdiff_plain;h=b6330a191300a48970cd41d594f0708ebb78ed87 ledtrig-netdev: don't stop timer on events for different interfaces This fixes regression introduced in my recent ledtrig-netdev commit. Events triggered by different interfaces were stopping timer so it wasn't working for tx/rx mode. Signed-off-by: Rafał Miłecki Backport of r48072 git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@48074 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- diff --git a/target/linux/generic/files/drivers/leds/ledtrig-netdev.c b/target/linux/generic/files/drivers/leds/ledtrig-netdev.c index 5d0f95499b..cfa4dc0758 100644 --- a/target/linux/generic/files/drivers/leds/ledtrig-netdev.c +++ b/target/linux/generic/files/drivers/leds/ledtrig-netdev.c @@ -269,11 +269,12 @@ static int netdev_trig_notify(struct notifier_block *nb, return NOTIFY_DONE; spin_lock_bh(&trigger_data->lock); - del_timer_sync(&trigger_data->timer); if (strcmp(dev->name, trigger_data->device_name)) goto done; + del_timer_sync(&trigger_data->timer); + if (evt == NETDEV_REGISTER || evt == NETDEV_CHANGENAME) { if (trigger_data->net_dev != NULL) dev_put(trigger_data->net_dev);