diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c
index 8a96672e2c5c462fb3f575df3ba4d8c25a03727d..eb404dc3ed6e213e4148ba1f7b13bb1d0570a4e1 100644
--- a/net/bridge/br_if.c
+++ b/net/bridge/br_if.c
@@ -424,7 +424,7 @@ int br_add_if(struct net_bridge *br, struct net_device *dev)
 err2:
 	br_fdb_delete_by_port(br, p, 1);
 err1:
-	kobject_del(&p->kobj);
+	kobject_put(&p->kobj);
 err0:
 	dev_set_promiscuity(dev, -1);
 put_back: