Re: [PATCH -next] net: wan: sdla: Use bitwise instead of arithmetic

From: Xie He
Date: Fri Oct 30 2020 - 04:59:16 EST


> Fix the following coccinelle warnings:
>
> ./drivers/net/wan/sdla.c:841:38-39: WARNING: sum of probable bitmasks, consider |
>
> Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
> Signed-off-by: Zou Wei <zou_wei@xxxxxxxxxx>
> ---
> drivers/net/wan/sdla.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/wan/sdla.c b/drivers/net/wan/sdla.c
> index bc2c1c7..cf43f4c 100644
> --- a/drivers/net/wan/sdla.c
> +++ b/drivers/net/wan/sdla.c
> @@ -838,7 +838,8 @@ static void sdla_receive(struct net_device *dev)
> case SDLA_S502A:
> case SDLA_S502E:
> if (success)
> - __sdla_read(dev, SDLA_502_RCV_BUF + SDLA_502_DATA_OFS, skb_put(skb,len), len);
> + __sdla_read(dev, SDLA_502_RCV_BUF | SDLA_502_DATA_OFS,
> + skb_put(skb, len), len);
>
> SDLA_WINDOW(dev, SDLA_502_RCV_BUF);
> cmd->opp_flag = 0;

No, this is not a bit-OR. This is a sum. The argument is an address,
SDLA_502_RCV_BUF is a base address, SDLA_502_DATA_OFS is an offset.
They should be sumed instead of bit-OR'ed.