[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090814163644.0cc8974f.akpm@linux-foundation.org>
Date: Fri, 14 Aug 2009 16:36:44 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Roel Kluin <roel.kluin@...il.com>
Cc: romieu@...zoreil.com, netdev@...r.kernel.org, davem@...emloft.net
Subject: Re: [PATCH] WAN: bit and/or confusion
On Fri, 14 Aug 2009 14:51:46 +0200
Roel Kluin <roel.kluin@...il.com> wrote:
> Fix the tests that check whether Frame* bits are not set
>
> Signed-off-by: Roel Kluin <roel.kluin@...il.com>
> ---
> // vi drivers/net/wan/dscc4.c +307
> #define FrameVfr 0x80
> #define FrameRdo 0x40
> #define FrameCrc 0x20
> #define FrameRab 0x10
>
> diff --git a/drivers/net/wan/dscc4.c b/drivers/net/wan/dscc4.c
> index 8face5d..dd3c64a 100644
> --- a/drivers/net/wan/dscc4.c
> +++ b/drivers/net/wan/dscc4.c
> @@ -663,9 +663,9 @@ static inline void dscc4_rx_skb(struct dscc4_dev_priv *dpriv,
> } else {
> if (skb->data[pkt_len] & FrameRdo)
> dev->stats.rx_fifo_errors++;
> - else if (!(skb->data[pkt_len] | ~FrameCrc))
> + else if (!(skb->data[pkt_len] & ~FrameCrc))
> dev->stats.rx_crc_errors++;
that's
if (!(x & 0xffffffdf))
which seems peculiar. Should it have been
else if (skb->data[pkt_len] & FrameCrc)
or
else if (!(skb->data[pkt_len] & FrameCrc))
> - else if (!(skb->data[pkt_len] | ~(FrameVfr | FrameRab)))
> + else if (!(skb->data[pkt_len] & ~(FrameVfr | FrameRab)))
> dev->stats.rx_length_errors++;
> else
> dev->stats.rx_errors++;
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists