|
@@ -4896,14 +4896,16 @@ int bond_create(char *name, struct bond_params *params, struct bonding **newbond
|
|
|
down_write(&bonding_rwsem);
|
|
|
|
|
|
/* Check to see if the bond already exists. */
|
|
|
- list_for_each_entry_safe(bond, nxt, &bond_dev_list, bond_list)
|
|
|
- if (strnicmp(bond->dev->name, name, IFNAMSIZ) == 0) {
|
|
|
- printk(KERN_ERR DRV_NAME
|
|
|
+ if (name) {
|
|
|
+ list_for_each_entry_safe(bond, nxt, &bond_dev_list, bond_list)
|
|
|
+ if (strnicmp(bond->dev->name, name, IFNAMSIZ) == 0) {
|
|
|
+ printk(KERN_ERR DRV_NAME
|
|
|
": cannot add bond %s; it already exists\n",
|
|
|
- name);
|
|
|
- res = -EPERM;
|
|
|
- goto out_rtnl;
|
|
|
- }
|
|
|
+ name);
|
|
|
+ res = -EPERM;
|
|
|
+ goto out_rtnl;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
bond_dev = alloc_netdev(sizeof(struct bonding), name ? name : "",
|
|
|
ether_setup);
|