Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
net: mv643xx_eth: reclaim TX skbs only when released by the HW
ATM, txq_reclaim will dequeue and free an skb for each tx desc released by the hw that has TX_LAST_DESC set. However, in case of TSO, each hw desc embedding the last part of a segment has TX_LAST_DESC set, losing the one-to-one 'last skb frag'/'TX_LAST_DESC set' correspondance, which causes data corruption. Fix this by checking TX_ENABLE_INTERRUPT instead of TX_LAST_DESC, and warn when trying to dequeue from an empty txq (which can be symptomatic of releasing skbs prematurely). Fixes: 3ae8f4e ('net: mv643xx_eth: Implement software TSO') Reported-by: Slawomir Gajzner <[email protected]> Reported-by: Julien D'Ascenzio <[email protected]> Signed-off-by: Karl Beldan <[email protected]> Cc: Ian Campbell <[email protected]> Cc: Eric Dumazet <[email protected]> Cc: Ezequiel Garcia <[email protected]> Cc: Sebastian Hesselbarth <[email protected]> Signed-off-by: David S. Miller <[email protected]>
- Loading branch information