diff --git a/net/core/netpoll.c b/net/core/netpoll.c
index 42ea4b0e59f1d3a780d57e9836181f055cb2c006..18d9cbda3a39c0b19d0751350489c08249cba635 100644
--- a/net/core/netpoll.c
+++ b/net/core/netpoll.c
@@ -795,7 +795,8 @@ int netpoll_setup(struct netpoll *np)
 	if (ndev->master) {
 		printk(KERN_ERR "%s: %s is a slave device, aborting.\n",
 		       np->name, np->dev_name);
-		return -EBUSY;
+		err = -EBUSY;
+		goto put;
 	}
 
 	if (!netif_running(ndev)) {