summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/hisilicon
diff options
context:
space:
mode:
authorDavid Arinzon <darinzon@amazon.com>2024-04-10 12:13:57 +0300
committerPaolo Abeni <pabeni@redhat.com>2024-04-11 12:21:02 +0300
commitbf02d9fe00632d22fa91d34749c7aacf397b6cde (patch)
treea0fb859205ace7037fea61c77de5266023c90841 /drivers/net/ethernet/hisilicon
parentf7e417180665234fdb7af2ebe33d89aaa434d16f (diff)
downloadlinux-bf02d9fe00632d22fa91d34749c7aacf397b6cde.tar.xz
net: ena: Fix incorrect descriptor free behavior
ENA has two types of TX queues: - queues which only process TX packets arriving from the network stack - queues which only process TX packets forwarded to it by XDP_REDIRECT or XDP_TX instructions The ena_free_tx_bufs() cycles through all descriptors in a TX queue and unmaps + frees every descriptor that hasn't been acknowledged yet by the device (uncompleted TX transactions). The function assumes that the processed TX queue is necessarily from the first category listed above and ends up using napi_consume_skb() for descriptors belonging to an XDP specific queue. This patch solves a bug in which, in case of a VF reset, the descriptors aren't freed correctly, leading to crashes. Fixes: 548c4940b9f1 ("net: ena: Implement XDP_TX action") Signed-off-by: Shay Agroskin <shayagr@amazon.com> Signed-off-by: David Arinzon <darinzon@amazon.com> Reviewed-by: Shannon Nelson <shannon.nelson@amd.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'drivers/net/ethernet/hisilicon')
0 files changed, 0 insertions, 0 deletions