]> git.baikalelectronics.ru Git - kernel.git/commit
net: systemport: Pad packet before inserting TSB
authorFlorian Fainelli <f.fainelli@gmail.com>
Wed, 4 Jan 2017 00:34:49 +0000 (16:34 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 4 Jan 2017 18:33:29 +0000 (13:33 -0500)
commit348baf9105a5f04b8b7086e635c96d4e1603e862
treea7413917257142a43be1d3c58cdef4e7e2112bdd
parent2d8baa3333b8ed57a2f36337f33ac7608abf39e7
net: systemport: Pad packet before inserting TSB

Inserting the TSB means adding an extra 8 bytes in front the of packet
that is going to be used as metadata information by the TDMA engine, but
stripped off, so it does not really help with the packet padding.

For some odd packet sizes that fall below the 60 bytes payload (e.g: ARP)
we can end-up padding them after the TSB insertion, thus making them 64
bytes, but with the TDMA stripping off the first 8 bytes, they could
still be smaller than 64 bytes which is required to ingress the switch.

Fix this by swapping the padding and TSB insertion, guaranteeing that
the packets have the right sizes.

Fixes: 9b2572ce82c3 ("net: systemport: add Broadcom SYSTEMPORT Ethernet MAC driver")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bcmsysport.c