Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cf503e8f authored by Dhananjay Phadke's avatar Dhananjay Phadke Committed by David S. Miller
Browse files

netxen: fix infinite loop on dma mapping failure



Fix a perpetual while() loop in unwinding partial
mapped tx skb on dma mapping failure.

Reported-by: default avatar"Juha Leppanen" <juha_motorsportcom@luukku.com>
Signed-off-by: default avatarDhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 270e57e1
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -1577,8 +1577,8 @@ netxen_map_tx_skb(struct pci_dev *pdev,
	return 0;
	return 0;


unwind:
unwind:
	while (i > 0) {
	while (--i >= 0) {
		nf = &pbuf->frag_array[i];
		nf = &pbuf->frag_array[i+1];
		pci_unmap_page(pdev, nf->dma, nf->length, PCI_DMA_TODEVICE);
		pci_unmap_page(pdev, nf->dma, nf->length, PCI_DMA_TODEVICE);
	}
	}