aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSharath Chandra Vurukala <sharathv@codeaurora.org>2017-10-12 20:31:57 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2019-12-12 16:04:30 -0800
commit039a6d18d9a50ff3e4113226f6d31898701c918b (patch)
tree85a0b5c5425011d69b306853d79fe9d78a284b13
parentccc6086e2a1cdc266eab733b2878befddf812a6f (diff)
Unregister the netdev, if the refcount does not become zero even after 10HZ of wait time. Change-Id: I4d2a18f09e81ddb9bb8ece1d5aef2259194e3b12 Signed-off-by: Sharath Chandra Vurukala <sharathv@codeaurora.org>
-rw-r--r--net/core/dev.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 1fc24809f59f..57f38bebcacc 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -7930,6 +7930,7 @@ static void netdev_wait_allrefs(struct net_device *dev)
pr_emerg("unregister_netdevice: waiting for %s to become free. Usage count = %d\n",
dev->name, refcnt);
warning_time = jiffies;
+ break;
}
}
}
@@ -7993,9 +7994,9 @@ void netdev_run_todo(void)
netdev_wait_allrefs(dev);
/* paranoia */
- BUG_ON(netdev_refcnt_read(dev));
- BUG_ON(!list_empty(&dev->ptype_all));
- BUG_ON(!list_empty(&dev->ptype_specific));
+ WARN_ON(netdev_refcnt_read(dev));
+ WARN_ON(!list_empty(&dev->ptype_all));
+ WARN_ON(!list_empty(&dev->ptype_specific));
WARN_ON(rcu_access_pointer(dev->ip_ptr));
WARN_ON(rcu_access_pointer(dev->ip6_ptr));
WARN_ON(dev->dn_ptr);