X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=datapath%2Fdp_sysfs_if.c;h=ab928f6c6534b7bbfa35cb6c019f0fdb47e4d22e;hb=43aa5f47f1ece799ebb85cd1c8ddfdaefe7b7402;hp=178afbd733dea14af34f4502ee7cbebd57b05129;hpb=58c342f617051e9e2ffb09710b4ef2b22c34e79a;p=openvswitch diff --git a/datapath/dp_sysfs_if.c b/datapath/dp_sysfs_if.c index 178afbd7..ab928f6c 100644 --- a/datapath/dp_sysfs_if.c +++ b/datapath/dp_sysfs_if.c @@ -302,6 +302,7 @@ int dp_sysfs_add_if(struct net_bridge_port *p) err = sysfs_create_link(&dp->ifobj, &p->kobj, p->dev->name); if (err) goto err_del; + strcpy(p->linkname, p->dev->name); kobject_uevent(&p->kobj, KOBJ_ADD); @@ -319,6 +320,10 @@ err_put: int dp_sysfs_del_if(struct net_bridge_port *p) { + if (p->linkname[0]) { + sysfs_remove_link(&p->dp->ifobj, p->linkname); + p->linkname[0] = '\0'; + } if (p->kobj.dentry) { kobject_uevent(&p->kobj, KOBJ_REMOVE); kobject_del(&p->kobj);