int br_add_bridge(char *name) { struct net_bridge *br; if ((br = new_nb(name)) == NULL) return -ENOMEM; if (__dev_get_by_name(name) != NULL) { kfree(br); return -EEXIST; } br->next = bridge_list; bridge_list = br; br_inc_use_count(); register_netdev(&br->dev); return 0; }
int br_add_bridge(char *name) { struct net_bridge *br; struct net_device *dev; int err; if ((br = new_nb(name)) == NULL) return -ENOMEM; dev = &br->dev; if (strchr(dev->name, '%')) { err = dev_alloc_name(dev, dev->name); if (err < 0) goto out; } err = register_netdevice(dev); if (err == 0) br_inc_use_count(); out: return err; }