Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753113Ab3C1Tb5 (ORCPT ); Thu, 28 Mar 2013 15:31:57 -0400 Received: from mail-vc0-f181.google.com ([209.85.220.181]:47558 "EHLO mail-vc0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752575Ab3C1Tbz (ORCPT ); Thu, 28 Mar 2013 15:31:55 -0400 MIME-Version: 1.0 In-Reply-To: References: Date: Thu, 28 Mar 2013 12:31:54 -0700 X-Google-Sender-Auth: piVmsv1O7SHS3gR_JWI4rnj6ac4 Message-ID: Subject: Re: Bug in ks8851.c From: Linus Torvalds To: Max.Nekludov@us.elster.com, "David S. Miller" , Network Development , Stephen Boyd , Matt Renzelmann , Jiri Pirko Cc: Linux Kernel Mailing List , trivial@rustcorp.com.au Content-Type: multipart/mixed; boundary=bcaec5040e060af93104d901359d Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3282 Lines: 84 --bcaec5040e060af93104d901359d Content-Type: text/plain; charset=UTF-8 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 > --bcaec5040e060af93104d901359d Content-Type: application/octet-stream; name="patch.diff" Content-Disposition: attachment; filename="patch.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_heubigou0 IGRyaXZlcnMvbmV0L2V0aGVybmV0L21pY3JlbC9rczg4NTEuYyB8IDIgKy0KIDEgZmlsZSBjaGFu Z2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv bmV0L2V0aGVybmV0L21pY3JlbC9rczg4NTEuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21pY3Jl bC9rczg4NTEuYwppbmRleCAzM2JjYjYzZDU2YTIuLjhmYjQ4MTI1MmUyYyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWljcmVsL2tzODg1MS5jCisrKyBiL2RyaXZlcnMvbmV0L2V0 aGVybmV0L21pY3JlbC9rczg4NTEuYwpAQCAtNTI4LDcgKzUyOCw3IEBAIHN0YXRpYyB2b2lkIGtz ODg1MV9yeF9wa3RzKHN0cnVjdCBrczg4NTFfbmV0ICprcykKIAlmb3IgKDsgcnhmYyAhPSAwOyBy eGZjLS0pIHsKIAkJcnhoID0ga3M4ODUxX3JkcmVnMzIoa3MsIEtTX1JYRkhTUik7CiAJCXJ4c3Rh dCA9IHJ4aCAmIDB4ZmZmZjsKLQkJcnhsZW4gPSByeGggPj4gMTY7CisJCXJ4bGVuID0gKHJ4aCA+ PiAxNikgJiAweGZmZjsKIAogCQluZXRpZl9kYmcoa3MsIHJ4X3N0YXR1cywga3MtPm5ldGRldiwK IAkJCSAgInJ4OiBzdGF0IDB4JTA0eCwgbGVuIDB4JTA0eFxuIiwgcnhzdGF0LCByeGxlbik7Cg== --bcaec5040e060af93104d901359d-- -- 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/