From 0496ba8446f3c0211f8c6638a660a8161dbe486a Mon Sep 17 00:00:00 2001 From: Neil Horman Date: Wed, 13 Oct 2010 16:01:52 +0000 Subject: [PATCH] --- yaml --- r: 215227 b: refs/heads/master c: 3b410a310b48a8e7de3438957635093596ad5ca5 h: refs/heads/master i: 215225: f8532e8bd46cbd1a4b9640a63cbc1efb68faa90a 215223: a761265b30e532247b4cb565999a6b00efcfc192 v: v3 --- [refs] | 2 +- trunk/drivers/net/netconsole.c | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) 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: