enetc: Fix NULL dma address unmap for Tx BD extensions
For the unlikely case of TxBD extensions (i.e. ptp) the driver tries to unmap the tx_swbd corresponding to the extension, which is bogus as it has no buffer attached. Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
cb07d915bf
commit
f4a0be84d7
@ -313,7 +313,9 @@ static bool enetc_clean_tx_ring(struct enetc_bdr *tx_ring, int napi_budget)
|
||||
while (bds_to_clean && tx_frm_cnt < ENETC_DEFAULT_TX_WORK) {
|
||||
bool is_eof = !!tx_swbd->skb;
|
||||
|
||||
enetc_unmap_tx_buff(tx_ring, tx_swbd);
|
||||
if (likely(tx_swbd->dma))
|
||||
enetc_unmap_tx_buff(tx_ring, tx_swbd);
|
||||
|
||||
if (is_eof) {
|
||||
napi_consume_skb(tx_swbd->skb, napi_budget);
|
||||
tx_swbd->skb = NULL;
|
||||
|
Reference in New Issue
Block a user