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;
}
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;
br_fdb_delete_by_port(br, p, 1);
err1:
kobject_del(&p->kobj);
+ return err;
err0:
kobject_put(&p->kobj);
return err;