]> git.baikalelectronics.ru Git - kernel.git/commit
net: aquantia: fix LRO with FCS error
authorDmitry Bogdanov <dmitry.bogdanov@aquantia.com>
Sat, 25 May 2019 09:58:03 +0000 (09:58 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 27 May 2019 17:24:14 +0000 (10:24 -0700)
commitc1a09c6234ba39a7834178cf4eaae149e7ba06cf
treedbc97fe6fdd550cb9e34af16626bde386f00f772
parent08d14a850105b8a9000873bd797b520cbbae3d17
net: aquantia: fix LRO with FCS error

Driver stops producing skbs on ring if a packet with FCS error
was coalesced into LRO session. Ring gets hang forever.

Thats a logical error in driver processing descriptors:
When rx_stat indicates MAC Error, next pointer and eop flags
are not filled. This confuses driver so it waits for descriptor 0
to be filled by HW.

Solution is fill next pointer and eop flag even for packets with FCS error.

Fixes: 1092bbd1c7f6a ("net: ethernet: aquantia: Atlantic A0 and B0 specific functions.")
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com>
Signed-off-by: Dmitry Bogdanov <dmitry.bogdanov@aquantia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c