From patchwork Mon Dec 4 23:40:00 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Aring X-Patchwork-Id: 844506 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=mojatatu-com.20150623.gappssmtp.com header.i=@mojatatu-com.20150623.gappssmtp.com header.b="KlGV4Y7x"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yrLwm3f29z9s0g for ; Tue, 5 Dec 2017 10:40:56 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752160AbdLDXky (ORCPT ); Mon, 4 Dec 2017 18:40:54 -0500 Received: from mail-it0-f68.google.com ([209.85.214.68]:40854 "EHLO mail-it0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751200AbdLDXks (ORCPT ); Mon, 4 Dec 2017 18:40:48 -0500 Received: by mail-it0-f68.google.com with SMTP id f190so10957030ita.5 for ; Mon, 04 Dec 2017 15:40:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mojatatu-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=huN2v9dFV6VfvCWeA/AtnWd8zM9y81ldy9tMPXdK/4I=; b=KlGV4Y7xr+nZgTM6C4Gmo9aYvCEukYY8X+rX7yPBxsgoKtTcLqVhKxUL7dnSOXV3RE sTzYiQBHKugMNa9Ow2CjlC4lcAiUbTaZTafnuRakzxhxxkYJO5Xm/MB3pj70bOOi+8vE cuO1ajXmcJiHvVkyvwplmQkA2Xek6Q4paxptodz0yxo3lvrIrSOKhjQzeSm/TrGvnsM8 qPKEPodHDO5jeJ7USpfd+MQ6NzqfhgTRpONnHEg2a5nk5mxTpwJnYVbawS1D1zT54Zly nAG5a+I7cMsO6gOk3mIIAvxgIhhG0c/pqCHU86DIEXz+NG0KySYtQDz1oSil8VvMQoZk D49A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=huN2v9dFV6VfvCWeA/AtnWd8zM9y81ldy9tMPXdK/4I=; b=RMLRBQZqVEloXZXihVTiT0DLAAM3iIjePlmRZEA3EMakcfMC372p6pgVzibsqlBqNZ zB8j2dQ7YM3xlhQXLMGJCk73ppa2+H+wse3ndq65evm1QsNuKgs62NZ8KnHXg9aMfX+1 ZrmQ5wAu1bcu1smfEF3je5FK0bOD2Ds7BMn1DCg8x0/umCcPN9AbE9JcQkmY5/8gBvrx 4ftx+Iu7/vE1c9BrayEhmNHIdQxyvZn8AHkUFAV77sP438J53Vi4v24Th9eDKSqUaXep QtUg6h5+sC4H1z6ewxD/ZHDSGraUk2U0MNGvK+4xNPpycciGWMuNY1NTer4b2ZRX1isQ dUyg== X-Gm-Message-State: AJaThX6U30HWfSpT2XaIGWAyVYQ9D1KsXanqyl1nCqy2yqDlEcL/3KE2 Bbb3klxnXvuQYEO0kwBcsKtg5g== X-Google-Smtp-Source: AGs4zMZziZuErnGYWTCrNIp/0I65+7Pvp4Rge/BL/J9PiN0b5DnVUnuP4Ew0F8umNJDPyPPwiFIc0Q== X-Received: by 10.107.46.159 with SMTP id u31mr26424112iou.2.1512430847824; Mon, 04 Dec 2017 15:40:47 -0800 (PST) Received: from x220t.lan ([64.26.149.125]) by smtp.gmail.com with ESMTPSA id q6sm4738304ita.38.2017.12.04.15.40.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 Dec 2017 15:40:47 -0800 (PST) From: Alexander Aring To: davem@davemloft.net Cc: jhs@mojatatu.com, xiyou.wangcong@gmail.com, jiri@resnulli.us, netdev@vger.kernel.org, Alexander Aring , David Ahern Subject: [PATCH net-next 2/2] net: sched: sch_api: rearrange init handling Date: Mon, 4 Dec 2017 18:40:00 -0500 Message-Id: <20171204234000.20756-3-aring@mojatatu.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20171204234000.20756-1-aring@mojatatu.com> References: <20171204234000.20756-1-aring@mojatatu.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This patch fixes the following checkpatch error: ERROR: do not use assignment in if condition by rearranging the if condition to execute init callback only if init callback exists. The whole setup afterwards is called in any case, doesn't matter if init callback is set or not. This patch has the same behaviour as before, just without assign err variable in if condition. It also makes the code easier to read. Reviewed-by: Jamal Hadi Salim Cc: David Ahern Signed-off-by: Alexander Aring Acked-by: Jamal Hadi Salim --- net/sched/sch_api.c | 88 ++++++++++++++++++++++++++++------------------------- 1 file changed, 47 insertions(+), 41 deletions(-) diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c index 8f7f5378cc33..a48ca41b7ecf 100644 --- a/net/sched/sch_api.c +++ b/net/sched/sch_api.c @@ -1060,54 +1060,60 @@ static struct Qdisc *qdisc_create(struct net_device *dev, netdev_info(dev, "Caught tx_queue_len zero misconfig\n"); } - if (!ops->init || (err = ops->init(sch, tca[TCA_OPTIONS])) == 0) { - if (qdisc_is_percpu_stats(sch)) { - sch->cpu_bstats = - netdev_alloc_pcpu_stats(struct gnet_stats_basic_cpu); - if (!sch->cpu_bstats) - goto err_out4; - - sch->cpu_qstats = alloc_percpu(struct gnet_stats_queue); - if (!sch->cpu_qstats) - goto err_out4; - } + if (ops->init) { + err = ops->init(sch, tca[TCA_OPTIONS]); + if (err != 0) + goto err_out5; + } - if (tca[TCA_STAB]) { - stab = qdisc_get_stab(tca[TCA_STAB]); - if (IS_ERR(stab)) { - err = PTR_ERR(stab); - goto err_out4; - } - rcu_assign_pointer(sch->stab, stab); - } - if (tca[TCA_RATE]) { - seqcount_t *running; + if (qdisc_is_percpu_stats(sch)) { + sch->cpu_bstats = + netdev_alloc_pcpu_stats(struct gnet_stats_basic_cpu); + if (!sch->cpu_bstats) + goto err_out4; - err = -EOPNOTSUPP; - if (sch->flags & TCQ_F_MQROOT) - goto err_out4; + sch->cpu_qstats = alloc_percpu(struct gnet_stats_queue); + if (!sch->cpu_qstats) + goto err_out4; + } - if (sch->parent != TC_H_ROOT && - !(sch->flags & TCQ_F_INGRESS) && - (!p || !(p->flags & TCQ_F_MQROOT))) - running = qdisc_root_sleeping_running(sch); - else - running = &sch->running; - - err = gen_new_estimator(&sch->bstats, - sch->cpu_bstats, - &sch->rate_est, - NULL, - running, - tca[TCA_RATE]); - if (err) - goto err_out4; + if (tca[TCA_STAB]) { + stab = qdisc_get_stab(tca[TCA_STAB]); + if (IS_ERR(stab)) { + err = PTR_ERR(stab); + goto err_out4; } + rcu_assign_pointer(sch->stab, stab); + } + if (tca[TCA_RATE]) { + seqcount_t *running; - qdisc_hash_add(sch, false); + err = -EOPNOTSUPP; + if (sch->flags & TCQ_F_MQROOT) + goto err_out4; - return sch; + if (sch->parent != TC_H_ROOT && + !(sch->flags & TCQ_F_INGRESS) && + (!p || !(p->flags & TCQ_F_MQROOT))) + running = qdisc_root_sleeping_running(sch); + else + running = &sch->running; + + err = gen_new_estimator(&sch->bstats, + sch->cpu_bstats, + &sch->rate_est, + NULL, + running, + tca[TCA_RATE]); + if (err) + goto err_out4; } + + qdisc_hash_add(sch, false); + + return sch; + +err_out5: /* ops->init() failed, we call ->destroy() like qdisc_create_dflt() */ if (ops->destroy) ops->destroy(sch);