mirror of
https://github.com/torvalds/linux.git
synced 2024-11-17 01:22:07 +00:00
ionic: no rx flush in deinit
Kmemleak pointed out to us that ionic_rx_flush() is sending
skbs into napi_gro_XXX with a disabled napi context, and these
end up getting lost and leaked. We can safely remove the flush.
Fixes: 0f3154e6bc
("ionic: Add Tx and Rx handling")
Signed-off-by: Shannon Nelson <snelson@pensando.io>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
d701ec326a
commit
43ecf7b46f
@ -1656,7 +1656,6 @@ static void ionic_txrx_deinit(struct ionic_lif *lif)
|
||||
if (lif->rxqcqs) {
|
||||
for (i = 0; i < lif->nxqs && lif->rxqcqs[i]; i++) {
|
||||
ionic_lif_qcq_deinit(lif, lif->rxqcqs[i]);
|
||||
ionic_rx_flush(&lif->rxqcqs[i]->cq);
|
||||
ionic_rx_empty(&lif->rxqcqs[i]->q);
|
||||
}
|
||||
}
|
||||
|
@ -253,19 +253,6 @@ static bool ionic_rx_service(struct ionic_cq *cq, struct ionic_cq_info *cq_info)
|
||||
return true;
|
||||
}
|
||||
|
||||
void ionic_rx_flush(struct ionic_cq *cq)
|
||||
{
|
||||
struct ionic_dev *idev = &cq->lif->ionic->idev;
|
||||
u32 work_done;
|
||||
|
||||
work_done = ionic_cq_service(cq, cq->num_descs,
|
||||
ionic_rx_service, NULL, NULL);
|
||||
|
||||
if (work_done)
|
||||
ionic_intr_credits(idev->intr_ctrl, cq->bound_intr->index,
|
||||
work_done, IONIC_INTR_CRED_RESET_COALESCE);
|
||||
}
|
||||
|
||||
static int ionic_rx_page_alloc(struct ionic_queue *q,
|
||||
struct ionic_page_info *page_info)
|
||||
{
|
||||
|
@ -4,7 +4,6 @@
|
||||
#ifndef _IONIC_TXRX_H_
|
||||
#define _IONIC_TXRX_H_
|
||||
|
||||
void ionic_rx_flush(struct ionic_cq *cq);
|
||||
void ionic_tx_flush(struct ionic_cq *cq);
|
||||
|
||||
void ionic_rx_fill(struct ionic_queue *q);
|
||||
|
Loading…
Reference in New Issue
Block a user