From 722e47d7929b40f58c2ad609429c7293e41ca5a8 Mon Sep 17 00:00:00 2001 From: Wei Yongjun Date: Fri, 17 Jan 2014 09:53:20 +0800 Subject: net_sched: fix error return code in fw_change_attrs() The error code was not set if change indev fail, so the error condition wasn't reflected in the return value. Fix to return a negative error code from this error handling case instead of 0. Fixes: 2519a602c273 ('net_sched: optimize tcf_match_indev()') Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller --- net/sched/cls_fw.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'net/sched') diff --git a/net/sched/cls_fw.c b/net/sched/cls_fw.c index ed00e8c21cea..a366537f82c6 100644 --- a/net/sched/cls_fw.c +++ b/net/sched/cls_fw.c @@ -209,8 +209,10 @@ fw_change_attrs(struct net *net, struct tcf_proto *tp, struct fw_filter *f, if (tb[TCA_FW_INDEV]) { int ret; ret = tcf_change_indev(net, tb[TCA_FW_INDEV]); - if (ret < 0) + if (ret < 0) { + err = ret; goto errout; + } f->ifindex = ret; } #endif /* CONFIG_NET_CLS_IND */ -- cgit v1.2.3-58-ga151