Re: [PATCH net-next 2/2] net: sched: sch_api: rearrange init handling

2017-12-05 Thread Jamal Hadi Salim

On 17-12-04 06:40 PM, Alexander Aring wrote:

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 

cheers,
jamal


[PATCH net-next 2/2] net: sched: sch_api: rearrange init handling

2017-12-04 Thread Alexander Aring
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 
---
 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 = >running;
-
-   err = gen_new_estimator(>bstats,
-   sch->cpu_bstats,
-   >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 = >running;
+
+   err = gen_new_estimator(>bstats,
+   sch->cpu_bstats,
+   >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);
-- 
2.11.0