Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

WAN: dscc4: Fix warning pointing out a bug.

Noticed by Stephen Rothwell:

Today's linux-next build (x86_64 allmodconfig gcc-4.4.0)
produced this warning:

drivers/net/wan/dscc4.c: In function 'dscc4_rx_skb':
drivers/net/wan/dscc4.c:670: warning: suggest parentheses around comparison in operand of '|'

which actually points out a bug, I think. It is doing
(x & (y | z)) != y | z
when it probably means
(x & (y | z)) != (y | z)

Introduced by commit 5de3fcab91b0e1809eec030355d15801daf25083
("WAN: bit and/or confusion").

Signed-off-by: David S. Miller <davem@davemloft.net>

+1 -1
+1 -1
drivers/net/wan/dscc4.c
··· 667 667 else if (!(skb->data[pkt_len] & FrameCrc)) 668 668 dev->stats.rx_crc_errors++; 669 669 else if ((skb->data[pkt_len] & (FrameVfr | FrameRab)) != 670 - FrameVfr | FrameRab) 670 + (FrameVfr | FrameRab)) 671 671 dev->stats.rx_length_errors++; 672 672 dev->stats.rx_errors++; 673 673 dev_kfree_skb_irq(skb);