diff options
author | Brett Creeley <brett@pensando.io> | 2022-01-24 10:53:08 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-01-25 11:15:09 +0000 |
commit | 238a0f7c2c2135ef70b5e354d4fe937ec1b6c2b7 (patch) | |
tree | 019a69d93a18fce5b65ce48b8cb7f7775df0a622 /drivers/net/ethernet/pensando/ionic/ionic_lif.c | |
parent | 584fb767cde87d30d6ac4b0eb478de185877cea8 (diff) |
ionic: Cleanups in the Tx hotpath code
Buffer DMA mapping happens in ionic_tx_map_skb() and this function is
called from ionic_tx() and ionic_tx_tso(). If ionic_tx_map_skb()
succeeds, but a failure is encountered later in ionic_tx() or
ionic_tx_tso() we aren't unmapping the buffers. This can be fixed in
ionic_tx() by changing functions it calls to return void because they
always return 0. For ionic_tx_tso(), there's an actual possibility that
we leave the buffers mapped, so fix this by introducing the helper
function ionic_tx_desc_unmap_bufs(). This function is also re-used
in ionic_tx_clean().
Fixes: 0f3154e6bcb3 ("ionic: Add Tx and Rx handling")
Signed-off-by: Brett Creeley <brett@pensando.io>
Signed-off-by: Shannon Nelson <snelson@pensando.io>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/pensando/ionic/ionic_lif.c')
0 files changed, 0 insertions, 0 deletions