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

Commit 104ba833 authored by Jean-Philippe Brucker's avatar Jean-Philippe Brucker Committed by Jeff Kirsher
Browse files

igb: Fix TX map failure path



When the driver cannot map a TX buffer, instead of rolling back
gracefully and retrying later, we currently get a panic:

[  159.885994] igb 0000:00:00.0: TX DMA map failed
[  159.886588] Unable to handle kernel paging request at virtual address ffff00000a08c7a8
               ...
[  159.897031] PC is at igb_xmit_frame_ring+0x9c8/0xcb8

Fix the erroneous test that leads to this situation.

Signed-off-by: default avatarJean-Philippe Brucker <jean-philippe.brucker@arm.com>
Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent 5983587c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -5326,7 +5326,7 @@ static int igb_tx_map(struct igb_ring *tx_ring,
				       DMA_TO_DEVICE);
		dma_unmap_len_set(tx_buffer, len, 0);

		if (i--)
		if (i-- == 0)
			i += tx_ring->count;
		tx_buffer = &tx_ring->tx_buffer_info[i];
	}