ledtrig-netdev: don't stop timer on events for different interfaces
authorrmilecki <rmilecki@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sat, 2 Jan 2016 20:38:56 +0000 (20:38 +0000)
committerrmilecki <rmilecki@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sat, 2 Jan 2016 20:38:56 +0000 (20:38 +0000)
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 <zajec5@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@48072 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/generic/files/drivers/leds/ledtrig-netdev.c

index 5d0f954..cfa4dc0 100644 (file)
@@ -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);