diff options
author | Ali MJ Al-Nasrawy <alimjalnasrawy@gmail.com> | 2019-09-25 17:47:11 +0300 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2019-10-12 23:51:29 +0200 |
commit | 77cfc0739d30c1282f7de24d2ec086d244e34bb7 (patch) | |
tree | e96bc6e5d26f8a9a5a70f2891453175d1a98f8f6 /package/kernel/trelay/src | |
parent | b30e481b6cf09a77f50bb7f07dbe73f58699262d (diff) | |
download | upstream-77cfc0739d30c1282f7de24d2ec086d244e34bb7.tar.gz upstream-77cfc0739d30c1282f7de24d2ec086d244e34bb7.tar.bz2 upstream-77cfc0739d30c1282f7de24d2ec086d244e34bb7.zip |
trelay: handle netdevice events correctly
Since v3.11, netdevice notification data are of type
"struct netdev_notifier_info". Handle it as such!
This should fix a critical bug in which devices are unable get released
because trelay does not release resources in response to UNREGISTER
event spamming the log with something like:
unregister_netdevice: waiting for eth0.1 to become free. Usage count = 1
Signed-off-by: Ali MJ Al-Nasrawy <alimjalnasrawy@gmail.com>
Diffstat (limited to 'package/kernel/trelay/src')
-rw-r--r-- | package/kernel/trelay/src/trelay.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/package/kernel/trelay/src/trelay.c b/package/kernel/trelay/src/trelay.c index 581a5cfd2f..d09dc07246 100644 --- a/package/kernel/trelay/src/trelay.c +++ b/package/kernel/trelay/src/trelay.c @@ -86,7 +86,7 @@ static struct trelay *trelay_find(struct net_device *dev) static int tr_device_event(struct notifier_block *unused, unsigned long event, void *ptr) { - struct net_device *dev = ptr; + struct net_device *dev = netdev_notifier_info_to_dev(ptr); struct trelay *tr; if (event != NETDEV_UNREGISTER) |