diff options
author | Jay Vosburgh <fubar@us.ibm.com> | 2008-01-17 19:25:01 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2008-01-18 14:38:38 -0500 |
commit | ece95f7fefe3afae19e641e1b3f5e64b00d5b948 (patch) | |
tree | ea3846fa640e0c3ed4d4233ac005b653dcf69824 /drivers/net/bonding/bond_sysfs.c | |
parent | 3b96c858fcb27120fcba222366180c3293393ccf (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.c | 8 |
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; |