diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/core/netpoll.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/net/core/netpoll.c b/net/core/netpoll.c index 1a8666ba4ef..b04f73847ed 100644 --- a/net/core/netpoll.c +++ b/net/core/netpoll.c @@ -1289,15 +1289,14 @@ EXPORT_SYMBOL_GPL(__netpoll_free_async); void netpoll_cleanup(struct netpoll *np) { - if (!np->dev) - return; - rtnl_lock(); + if (!np->dev) + goto out; __netpoll_cleanup(np); - rtnl_unlock(); - dev_put(np->dev); np->dev = NULL; +out: + rtnl_unlock(); } EXPORT_SYMBOL(netpoll_cleanup); |