Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755844Ab3C2OHJ (ORCPT ); Fri, 29 Mar 2013 10:07:09 -0400 Received: from mail-oa0-f47.google.com ([209.85.219.47]:59541 "EHLO mail-oa0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754892Ab3C2OHG (ORCPT ); Fri, 29 Mar 2013 10:07:06 -0400 MIME-Version: 1.0 X-Originating-IP: [80.85.246.73] In-Reply-To: References: Date: Fri, 29 Mar 2013 18:07:05 +0400 Message-ID: Subject: Re: Fw: Bug in ks8851.c From: Denis Kirjanov To: Max.Nekludov@us.elster.com Cc: Linus Torvalds , "David S. Miller" , Jiri Pirko , linus971@gmail.com, Linux Kernel Mailing List , Matt Renzelmann , Network Development , Stephen Boyd , Greg Ungerer , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3482 Lines: 106 please respin this patch with a commit description. On 3/29/13, Max.Nekludov@us.elster.com wrote: > > Linus, > > I tried to send the mail to 'Ben Dooks ' but the address > is dead now. >> I assume you've tested it in practice? > Yes, I'm running the modified code both in bootloader and Linux kernel on > my board. > > Thanks, > Max > > Signed-off-by: Max Nekludov > --- > drivers/net/ethernet/micrel/ks8851.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/micrel/ks8851.c > b/drivers/net/ethernet/micrel/ks8851.c > index 33bcb63d56a2..8fb481252e2c 100644 > --- a/drivers/net/ethernet/micrel/ks8851.c > +++ b/drivers/net/ethernet/micrel/ks8851.c > @@ -528,7 +528,7 @@ static void ks8851_rx_pkts(struct ks8851_net *ks) > for (; rxfc != 0; rxfc--) { > rxh = ks8851_rdreg32(ks, KS_RXFHSR); > rxstat = rxh & 0xffff; > - rxlen = rxh >> 16; > + rxlen = (rxh >> 16) & 0xfff; > > netif_dbg(ks, rx_status, ks->netdev, > "rx: stat 0x%04x, len 0x%04x\n", rxstat, rxlen); > > > > > Max, > please cc the actual maintainers of the driver. The patch looks sane, > though. I assume you've tested it in practice? > > You also seem to have based this on an ancient version, the code has > long since moved from drivers/net/ks8851.c to > drivers/net/ethernet/micrel/ks8851.c (back in June of 2011), and it's > missing a sign-off from you. > > I'm attaching an updated patch for the rename/capitalization issue. > > Linus > > On Thu, Mar 28, 2013 at 11:25 AM, wrote: >> >> According to the Datasheet (page 52): >> 15-12 Reserved >> 11-0 RXBC Receive Byte Count >> This field indicates the present received frame byte size. >> >> I suppose the code has a bug: >> rxh = ks8851_rdreg32(ks, KS_RXFHSR); >> rxstat = rxh & 0xffff; >> rxlen = rxh >> 16; // BUG!!! 0xFFF mask should be applied >> >> P.S. >> without bit mask applied I saw rxlen equal to 15360 which is bigger then >> entire RX queue size (12KB). >> >> Thanks, >> Max Nekludov >> >> From cb3199cee4490f98d6062e32a75ca377a32b55bc Mon Sep 17 00:00:00 2001 >> From: Max Neklyudov >> Date: Tue, 26 Mar 2013 11:46:57 +0400 >> Subject: [PATCH] Fix bug in ks8851 driver >> >> --- >> drivers/net/ks8851.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/net/ks8851.c b/drivers/net/ks8851.c >> index 91a93cb..0dc03da 100644 >> --- a/drivers/net/ks8851.c >> +++ b/drivers/net/ks8851.c >> @@ -553,7 +553,7 @@ static void ks8851_rx_pkts(struct ks8851_net *ks) >> for (; rxfc != 0; rxfc--) { >> rxh = ks8851_rdreg32(ks, KS_RXFHSR); >> rxstat = rxh & 0xffff; >> - rxlen = rxh >> 16; >> + rxlen = (rxh >> 16) & 0xFFF; >> >> netif_dbg(ks, rx_status, ks->netdev, >> "rx: stat 0x%04x, len 0x%04x\n", rxstat, > rxlen); >> -- >> 1.7.10.4 >> > > > ______________________________________________________________________ > This email has been spam and virus checked by Elster IT Services.(See > attached file: patch.diff) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/