Hi David, On Mon, Feb 19, 2018 at 02:01:25PM +0000, David Laight wrote: > From: Paul Burton > > Sent: 17 February 2018 20:11 > > > > The ethernet controller found in the Intel EG20T Platform Controller > > Hub requires that we place 2 bytes of padding between the ethernet > > header & the packet payload. Our pch_gbe driver handles this by copying > > packets to be transmitted to a temporary struct skb with the padding > > bytes inserted > ... > > Uggg WFT is the driver doing that for? > > I'd guess that the two byte pad is there so that a 4 byte aligned > frame is still 4 byte aligned when the 14 byte ethernet header is added. > So instead of copying the entire frame the MAC header should be built > (or rebuilt?) two bytes further from the actual data.
I agree - the pch_gbe driver is pretty bad and does a lot of things wrong. Frankly I'm amazed it's in tree, but it is & one patch series isn't going to fix all of its shortcomings. So whilst I totally agree that copying around the whole frame is awful, it's a separate problem to the length used for DMA mapping being incorrect which is what this patch addresses & I'd rather not start adding more & more fixes or cleanups into this initial series before the driver is even functional on my hardware. Thanks, Paul