|
@@ -258,12 +258,6 @@ static struct net_bridge_port *new_nbp(struct net_bridge *br,
|
|
|
p->state = BR_STATE_DISABLED;
|
|
|
br_stp_port_timer_init(p);
|
|
|
|
|
|
- kobject_init(&p->kobj);
|
|
|
- kobject_set_name(&p->kobj, SYSFS_BRIDGE_PORT_ATTR);
|
|
|
- p->kobj.ktype = &brport_ktype;
|
|
|
- p->kobj.parent = &(dev->dev.kobj);
|
|
|
- p->kobj.kset = NULL;
|
|
|
-
|
|
|
return p;
|
|
|
}
|
|
|
|
|
@@ -379,7 +373,8 @@ int br_add_if(struct net_bridge *br, struct net_device *dev)
|
|
|
if (IS_ERR(p))
|
|
|
return PTR_ERR(p);
|
|
|
|
|
|
- err = kobject_add(&p->kobj);
|
|
|
+ err = kobject_init_and_add(&p->kobj, &brport_ktype, &(dev->dev.kobj),
|
|
|
+ SYSFS_BRIDGE_PORT_ATTR);
|
|
|
if (err)
|
|
|
goto err0;
|
|
|
|
|
@@ -416,6 +411,7 @@ err2:
|
|
|
br_fdb_delete_by_port(br, p, 1);
|
|
|
err1:
|
|
|
kobject_del(&p->kobj);
|
|
|
+ return err;
|
|
|
err0:
|
|
|
kobject_put(&p->kobj);
|
|
|
return err;
|