Messages in this thread | | | Date | Mon, 19 Sep 2022 22:39:07 +0200 | From | Andrew Lunn <> | Subject | Re: [PATCH] net: sunhme: Fix packet reception for len < RX_COPY_THRESHOLD |
| |
On Sun, Sep 18, 2022 at 05:55:34PM -0400, Sean Anderson wrote: > There is a separate receive path for small packets (under 256 bytes). > Instead of allocating a new dma-capable skb to be used for the next packet, > this path allocates a skb and copies the data into it (reusing the existing > sbk for the next packet). There are two bytes of junk data at the beginning > of every packet. I believe these are inserted in order to allow aligned > DMA and IP headers. We skip over them using skb_reserve. Before copying > over the data, we must use a barrier to ensure we see the whole packet. The > current code only synchronizes len bytes, starting from the beginning of > the packet, including the junk bytes. However, this leaves off the final > two bytes in the packet. Synchronize the whole packet. > > To reproduce this problem, ping a HME with a payload size between 17 and 214 > > $ ping -s 17 <hme_address> > > which will complain rather loudly about the data mismatch. Small packets > (below 60 bytes on the wire) do not have this issue. I suspect this is > related to the padding added to increase the minimum packet size. > > Signed-off-by: Sean Anderson <seanga2@gmail.com>
Hi Sean
> Patch-prefix: net
This should be in the Subject of the email. Various tools look for the netdev tree there. Please try to remember that for future patches.
Please could you add a Fixes: tag indicating when the problem was introduced. Its O.K. if that was when the driver was added. It just helps getting the patch back ported to older stable kernels.
I think patchwork allows you to just reply to your post, and it will automagically append the Fixes: tag when the Maintainer actually applies the patch.
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Andrew
| |