diff options
-rw-r--r-- | drivers/net/netconsole.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c index ca142c47b2e4..94255f09093d 100644 --- a/drivers/net/netconsole.c +++ b/drivers/net/netconsole.c | |||
@@ -678,7 +678,14 @@ static int netconsole_netdev_event(struct notifier_block *this, | |||
678 | strlcpy(nt->np.dev_name, dev->name, IFNAMSIZ); | 678 | strlcpy(nt->np.dev_name, dev->name, IFNAMSIZ); |
679 | break; | 679 | break; |
680 | case NETDEV_UNREGISTER: | 680 | case NETDEV_UNREGISTER: |
681 | netpoll_cleanup(&nt->np); | 681 | /* |
682 | * rtnl_lock already held | ||
683 | */ | ||
684 | if (nt->np.dev) { | ||
685 | __netpoll_cleanup(&nt->np); | ||
686 | dev_put(nt->np.dev); | ||
687 | nt->np.dev = NULL; | ||
688 | } | ||
682 | /* Fall through */ | 689 | /* Fall through */ |
683 | case NETDEV_GOING_DOWN: | 690 | case NETDEV_GOING_DOWN: |
684 | case NETDEV_BONDING_DESLAVE: | 691 | case NETDEV_BONDING_DESLAVE: |