OSDN Git Service

net: stmmac: fix dropping of multi-descriptor RX frames
authorAaro Koskinen <aaro.koskinen@nokia.com>
Wed, 27 Mar 2019 20:35:39 +0000 (22:35 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 31 Mar 2019 21:00:59 +0000 (14:00 -0700)
commit8ac0c24fe1c256af6644caf3d311029440ec2fbd
tree2440007b002f78e11a6f585c6b55cce877256cd2
parent1b746ce8b397e58f9e40ce5c63b7198de6930482
net: stmmac: fix dropping of multi-descriptor RX frames

Packets without the last descriptor set should be dropped early. If we
receive a frame larger than the DMA buffer, the HW will continue using the
next descriptor. Driver mistakes these as individual frames, and sometimes
a truncated frame (without the LD set) may look like a valid packet.

This fixes a strange issue where the system replies to 4098-byte ping
although the MTU/DMA buffer size is set to 4096, and yet at the same
time it's logging an oversized packet.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/stmicro/stmmac/enh_desc.c