net: sched: sch_api: rearrange init handling
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 <jhs@mojatatu.com> Cc: David Ahern <dsahern@gmail.com> Signed-off-by: Alexander Aring <aring@mojatatu.com> Acked-by: Jamal Hadi Salim <jhs@mojatatu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
0ac4bd68ab
commit
54160ef6ec
@ -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 (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;
|
||||
|
||||
err = -EOPNOTSUPP;
|
||||
if (sch->flags & TCQ_F_MQROOT)
|
||||
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;
|
||||
}
|
||||
|
||||
qdisc_hash_add(sch, false);
|
||||
|
||||
return sch;
|
||||
if (ops->init) {
|
||||
err = ops->init(sch, tca[TCA_OPTIONS]);
|
||||
if (err != 0)
|
||||
goto err_out5;
|
||||
}
|
||||
|
||||
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 (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;
|
||||
|
||||
err = -EOPNOTSUPP;
|
||||
if (sch->flags & TCQ_F_MQROOT)
|
||||
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;
|
||||
}
|
||||
|
||||
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);
|
||||
|
Loading…
Reference in New Issue
Block a user