From: Ben Hutchings Date: Mon, 1 Sep 2008 11:46:36 +0000 (+0100) Subject: sfc: Don't leak PCI DMA maps in the TSO code when the queue fills up X-Git-Tag: v2.6.28-rc1~717^2~368 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5988b63a53e120a9db4439d4512f4c1b17e7170e;p=profile%2Fivi%2Fkernel-adaptation-intel-automotive.git sfc: Don't leak PCI DMA maps in the TSO code when the queue fills up Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik --- diff --git a/drivers/net/sfc/tx.c b/drivers/net/sfc/tx.c index e5e0bab..0452ea6 100644 --- a/drivers/net/sfc/tx.c +++ b/drivers/net/sfc/tx.c @@ -1096,6 +1096,11 @@ static int efx_enqueue_skb_tso(struct efx_tx_queue *tx_queue, efx_stop_queue(tx_queue->efx); unwind: + /* Free the DMA mapping we were in the process of writing out */ + if (state.ifc.unmap_len) + pci_unmap_page(tx_queue->efx->pci_dev, state.ifc.unmap_addr, + state.ifc.unmap_len, PCI_DMA_TODEVICE); + efx_enqueue_unwind(tx_queue); return rc2; }