Re: [PATCH] net: sunhme: Fix packet reception for len < RX_COPY_THRESHOLD
From: Andrew Lunn
Date: Mon Sep 19 2022 - 16:39:28 EST
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@xxxxxxxxx>
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@xxxxxxx>
Andrew