diff options
Diffstat (limited to 'k2.patch')
| -rw-r--r-- | k2.patch | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/k2.patch b/k2.patch new file mode 100644 index 00000000000000..053d3c9f78fa99 --- /dev/null +++ b/k2.patch @@ -0,0 +1,71 @@ +--- + net/bridge/br_if.c | 2 +- + net/bridge/br_private.h | 2 +- + net/bridge/br_sysfs_br.c | 14 ++++---------- + net/bridge/br_sysfs_if.c | 2 +- + 4 files changed, 7 insertions(+), 13 deletions(-) + +--- a/net/bridge/br_if.c ++++ b/net/bridge/br_if.c +@@ -133,7 +133,7 @@ static void del_nbp(struct net_bridge_po + struct net_bridge *br = p->br; + struct net_device *dev = p->dev; + +- sysfs_remove_link(&br->ifobj, dev->name); ++ sysfs_remove_link(br->ifobj, dev->name); + + dev_set_promiscuity(dev, -1); + +--- a/net/bridge/br_private.h ++++ b/net/bridge/br_private.h +@@ -124,7 +124,7 @@ struct net_bridge + struct timer_list tcn_timer; + struct timer_list topology_change_timer; + struct timer_list gc_timer; +- struct kobject ifobj; ++ struct kobject *ifobj; + }; + + extern struct notifier_block br_device_notifier; +--- a/net/bridge/br_sysfs_br.c ++++ b/net/bridge/br_sysfs_br.c +@@ -426,16 +426,10 @@ int br_sysfs_addbr(struct net_device *de + goto out2; + } + +- +- kobject_set_name(&br->ifobj, SYSFS_BRIDGE_PORT_SUBDIR); +- br->ifobj.ktype = NULL; +- br->ifobj.kset = NULL; +- br->ifobj.parent = brobj; +- +- err = kobject_register(&br->ifobj); +- if (err) { ++ br->ifobj = kobject_create_and_add(SYSFS_BRIDGE_PORT_SUBDIR, brobj); ++ if (!br->ifobj) { + pr_info("%s: can't add kobject (directory) %s/%s\n", +- __FUNCTION__, dev->name, kobject_name(&br->ifobj)); ++ __FUNCTION__, dev->name, SYSFS_BRIDGE_PORT_SUBDIR); + goto out3; + } + return 0; +@@ -453,7 +447,7 @@ void br_sysfs_delbr(struct net_device *d + struct kobject *kobj = &dev->dev.kobj; + struct net_bridge *br = netdev_priv(dev); + +- kobject_unregister(&br->ifobj); ++ kobject_unregister(br->ifobj); + sysfs_remove_bin_file(kobj, &bridge_forward); + sysfs_remove_group(kobj, &bridge_group); + } +--- a/net/bridge/br_sysfs_if.c ++++ b/net/bridge/br_sysfs_if.c +@@ -229,7 +229,7 @@ int br_sysfs_addif(struct net_bridge_por + goto out2; + } + +- err= sysfs_create_link(&br->ifobj, &p->kobj, p->dev->name); ++ err= sysfs_create_link(br->ifobj, &p->kobj, p->dev->name); + out2: + return err; + } |
