diff --git a/[refs] b/[refs] index 20fe21defa5e..630ba2b692a4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 990c3d6f9c4115347659fc2b163907c8c832ae44 +refs/heads/master: 3b410a310b48a8e7de3438957635093596ad5ca5 diff --git a/trunk/drivers/net/netconsole.c b/trunk/drivers/net/netconsole.c index ca142c47b2e4..94255f09093d 100644 --- a/trunk/drivers/net/netconsole.c +++ b/trunk/drivers/net/netconsole.c @@ -678,7 +678,14 @@ static int netconsole_netdev_event(struct notifier_block *this, strlcpy(nt->np.dev_name, dev->name, IFNAMSIZ); break; case NETDEV_UNREGISTER: - netpoll_cleanup(&nt->np); + /* + * rtnl_lock already held + */ + if (nt->np.dev) { + __netpoll_cleanup(&nt->np); + dev_put(nt->np.dev); + nt->np.dev = NULL; + } /* Fall through */ case NETDEV_GOING_DOWN: case NETDEV_BONDING_DESLAVE: