From 9784a470bb490988b275d32d4bbe9ddd56c2fd71 Mon Sep 17 00:00:00 2001 From: Ali MJ Al-Nasrawy Date: Wed, 25 Sep 2019 17:47:11 +0300 Subject: 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 (cherry picked from commit 77cfc0739d30c1282f7de24d2ec086d244e34bb7) --- package/kernel/trelay/src/trelay.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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) -- cgit v1.2.3