mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Sascha Hauer <s.hauer@pengutronix.de>
To: Barebox List <barebox@lists.infradead.org>
Cc: jianqiang wang <wjq.sec@gmail.com>
Subject: [PATCH v3 6/9] net: smc911x: Fix amount of words read from RX FIFO
Date: Tue, 28 May 2024 10:58:03 +0200	[thread overview]
Message-ID: <20240528085806.1172689-7-s.hauer@pengutronix.de> (raw)
In-Reply-To: <20240528085806.1172689-1-s.hauer@pengutronix.de>

According to the datasheet the packet length field contains the packet
length in bytes (and it's also used like this in the driver). This means
the number of dwords to read from the FIFO is one quarter of that, or,
if we account for non dword aligned packet lengths, as:

	len = (pktlen + 3) / 4.

I have no idea why the code has an additional + 2 when calculating the
number of dwords. The corresponding U-Boot driver also does not have
this additional + 2, so drop it from the barebox driver as well.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
 drivers/net/smc911x.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index 767d51761b..1fca58ab84 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -459,7 +459,7 @@ static int smc911x_eth_rx(struct eth_device *edev)
 
 		smc911x_reg_write(priv, RX_CFG, 0);
 
-		tmplen = (pktlen + 2 + 3) / 4;
+		tmplen = (pktlen + 3) / 4;
 		while(tmplen--)
 			*data++ = smc911x_reg_read(priv, RX_DATA_FIFO);
 
-- 
2.39.2




  parent reply	other threads:[~2024-05-28  8:58 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-28  8:57 [PATCH v3 0/9] net: do not read past receive buffer Sascha Hauer
2024-05-28  8:57 ` [PATCH v3 1/9] net: cs8900: simplify buffer read loop Sascha Hauer
2024-05-28  8:57 ` [PATCH v3 2/9] net: cs8900: do not read past the receive buffer Sascha Hauer
2024-05-28  8:58 ` [PATCH v3 3/9] net: ks8851_mll: " Sascha Hauer
2024-05-28  8:58 ` [PATCH v3 4/9] net: liteeth: " Sascha Hauer
2024-05-28  8:58 ` [PATCH v3 5/9] net: liteeth: do not set len to 0 before printing it Sascha Hauer
2024-05-28  8:58 ` Sascha Hauer [this message]
2024-05-28  8:58 ` [PATCH v3 7/9] net: smc911x: do not read past the receive buffer Sascha Hauer
2024-05-28 13:29   ` Jules Maselbas
2024-05-28 14:23     ` [PATCH] fixup! " Sascha Hauer
2024-05-28 14:26     ` [PATCH v3 7/9] " Sascha Hauer
2024-05-28 14:37       ` Jules Maselbas
2024-05-28  8:58 ` [PATCH v3 8/9] net: ks8851_mll: drop return value from ks8851_rx_frame() Sascha Hauer
2024-05-28  8:58 ` [PATCH v3 9/9] net: let net rx hook return void Sascha Hauer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240528085806.1172689-7-s.hauer@pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    --cc=wjq.sec@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox