aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bonding/bond_sysfs.c
diff options
context:
space:
mode:
authorJay Vosburgh <fubar@us.ibm.com>2008-01-17 19:25:01 -0500
committerJeff Garzik <jeff@garzik.org>2008-01-18 14:38:38 -0500
commitece95f7fefe3afae19e641e1b3f5e64b00d5b948 (patch)
treeea3846fa640e0c3ed4d4233ac005b653dcf69824 /drivers/net/bonding/bond_sysfs.c
parent3b96c858fcb27120fcba222366180c3293393ccf (diff)
bonding: Fix up parameter parsing
A recent change to add an additional hash policy modified bond_parse_parm, but it now does not correctly match parameters passed in via sysfs. Rewrote bond_parse_parm to handle (a) parameter matches that are substrings of one another and (b) user input with whitespace (e.g., sysfs input often has a trailing newline). Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/bonding/bond_sysfs.c')
-rw-r--r--drivers/net/bonding/bond_sysfs.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/bonding/bond_sysfs.c b/drivers/net/bonding/bond_sysfs.c
index 28a2d803e7e5..bff4f2b84ce0 100644
--- a/drivers/net/bonding/bond_sysfs.c
+++ b/drivers/net/bonding/bond_sysfs.c
@@ -423,7 +423,7 @@ static ssize_t bonding_store_mode(struct device *d,
423 goto out; 423 goto out;
424 } 424 }
425 425
426 new_value = bond_parse_parm((char *)buf, bond_mode_tbl); 426 new_value = bond_parse_parm(buf, bond_mode_tbl);
427 if (new_value < 0) { 427 if (new_value < 0) {
428 printk(KERN_ERR DRV_NAME 428 printk(KERN_ERR DRV_NAME
429 ": %s: Ignoring invalid mode value %.*s.\n", 429 ": %s: Ignoring invalid mode value %.*s.\n",
@@ -478,7 +478,7 @@ static ssize_t bonding_store_xmit_hash(struct device *d,
478 goto out; 478 goto out;
479 } 479 }
480 480
481 new_value = bond_parse_parm((char *)buf, xmit_hashtype_tbl); 481 new_value = bond_parse_parm(buf, xmit_hashtype_tbl);
482 if (new_value < 0) { 482 if (new_value < 0) {
483 printk(KERN_ERR DRV_NAME 483 printk(KERN_ERR DRV_NAME
484 ": %s: Ignoring invalid xmit hash policy value %.*s.\n", 484 ": %s: Ignoring invalid xmit hash policy value %.*s.\n",
@@ -518,7 +518,7 @@ static ssize_t bonding_store_arp_validate(struct device *d,
518 int new_value; 518 int new_value;
519 struct bonding *bond = to_bond(d); 519 struct bonding *bond = to_bond(d);
520 520
521 new_value = bond_parse_parm((char *)buf, arp_validate_tbl); 521 new_value = bond_parse_parm(buf, arp_validate_tbl);
522 if (new_value < 0) { 522 if (new_value < 0) {
523 printk(KERN_ERR DRV_NAME 523 printk(KERN_ERR DRV_NAME
524 ": %s: Ignoring invalid arp_validate value %s\n", 524 ": %s: Ignoring invalid arp_validate value %s\n",
@@ -941,7 +941,7 @@ static ssize_t bonding_store_lacp(struct device *d,
941 goto out; 941 goto out;
942 } 942 }
943 943
944 new_value = bond_parse_parm((char *)buf, bond_lacp_tbl); 944 new_value = bond_parse_parm(buf, bond_lacp_tbl);
945 945
946 if ((new_value == 1) || (new_value == 0)) { 946 if ((new_value == 1) || (new_value == 0)) {
947 bond->params.lacp_fast = new_value; 947 bond->params.lacp_fast = new_value;