From: Wei Yongjun Date: Fri, 17 Jan 2014 01:53:20 +0000 (+0800) Subject: net_sched: fix error return code in fw_change_attrs() X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=722e47d7929b40f58c2ad609429c7293e41ca5a8;p=openwrt%2Fstaging%2Fblogic.git 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 --- 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 */