[TCP]: Fix a bug in strategy_allowed_congestion_control
In strategy_allowed_congestion_control of the 2.6.24 kernel, when sysctl_string return 1 on success,it should call tcp_set_allowed_congestion_control to set the allowed congestion control.But, it don't. the sysctl_string return 1 on success, otherwise return negative, never return 0.The patch fix the problem. Signed-off-by: Shan Wei <shanwei@cn.fujitsu.com> Acked-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
71d67e666e
commit
16ca3f9130
|
@ -185,7 +185,7 @@ static int strategy_allowed_congestion_control(ctl_table *table, int __user *nam
|
||||||
|
|
||||||
tcp_get_available_congestion_control(tbl.data, tbl.maxlen);
|
tcp_get_available_congestion_control(tbl.data, tbl.maxlen);
|
||||||
ret = sysctl_string(&tbl, name, nlen, oldval, oldlenp, newval, newlen);
|
ret = sysctl_string(&tbl, name, nlen, oldval, oldlenp, newval, newlen);
|
||||||
if (ret == 0 && newval && newlen)
|
if (ret == 1 && newval && newlen)
|
||||||
ret = tcp_set_allowed_congestion_control(tbl.data);
|
ret = tcp_set_allowed_congestion_control(tbl.data);
|
||||||
kfree(tbl.data);
|
kfree(tbl.data);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue