WAN: dscc4: Fix warning pointing out a bug.
authorDavid S. Miller <davem@davemloft.net>
Fri, 4 Sep 2009 04:34:39 +0000 (21:34 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 4 Sep 2009 04:34:39 +0000 (21:34 -0700)
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>
drivers/net/wan/dscc4.c

index b2247bd0d492e6a4a0d4de596ac358bdedb08465..81c8aec9df929b5f97df8b6978c505e0d86719f2 100644 (file)
@@ -667,7 +667,7 @@ static inline void dscc4_rx_skb(struct dscc4_dev_priv *dpriv,
                else if (!(skb->data[pkt_len] & FrameCrc))
                        dev->stats.rx_crc_errors++;
                else if ((skb->data[pkt_len] & (FrameVfr | FrameRab)) !=
-                               FrameVfr | FrameRab)
+                        (FrameVfr | FrameRab))
                        dev->stats.rx_length_errors++;
                dev->stats.rx_errors++;
                dev_kfree_skb_irq(skb);