Re: [PATCH -next] net: stmmac: platform: remove useless if/else

Andrew Lunn
2020-10-29T12:35:04Z

On Thu, Oct 29, 2020 at 10:33:52AM +0800, Zou Wei wrote:
> Fix the following coccinelle report:
>
> ./drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c:233:6-8:
> WARNING: possible condition with no effect (if == else)
>
> Both branches are the same, so remove the else if/else altogether.
>
> Reported-by: Hulk Robot <hulkci@huawei.com>
> Signed-off-by: Zou Wei <zou_wei@huawei.com>
> ---
> drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
> index af34a4c..f6c69d0 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
> @@ -230,8 +230,6 @@ static int stmmac_mtl_setup(struct platform_device *pdev,
> plat->tx_sched_algorithm = MTL_TX_ALGORITHM_WFQ;
> else if (of_property_read_bool(tx_node, "snps,tx-sched-dwrr"))
> plat->tx_sched_algorithm = MTL_TX_ALGORITHM_DWRR;
> - else if (of_property_read_bool(tx_node, "snps,tx-sched-sp"))
> - plat->tx_sched_algorithm = MTL_TX_ALGORITHM_SP;
> else
> plat->tx_sched_algorithm = MTL_TX_ALGORITHM_SP;

I actually prefer the original code. Code is also documentation. It
documents the fact, if "snps,tx-sched-sp" is in device tree, we use
MTL_TX_ALGORITHM_SP, but otherwise we default to MTL_TX_ALGORITHM_SP.

As with my suggestion for forcedeth, i would move the default setting
to before the whole if/else if/else block to document it is the
default.

Or just consider this a false positive and leave it alone. I can see
value in the coccinelle script, but it is going to have a lot of false
positive cases, so i'm not sure there is value in working around them
all.

Andrew