aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/igb/igb_main.c
diff options
context:
space:
mode:
authorNick Nunley <nicholasx.d.nunley@intel.com>2010-02-16 20:06:16 -0500
committerDavid S. Miller <davem@davemloft.net>2010-02-17 16:21:39 -0500
commita77ff709dd30a263f8154b05a8514b46098b42ba (patch)
tree4579e2a6e9882bf1fcb98717a64231879ddf3641 /drivers/net/igb/igb_main.c
parent58fd62f525e1182fbb2f7566aecb4545720d9aad (diff)
igb: update tx DMA mapping error handling
This updates the tx DMA mapping error handling code to resemble e1000e/ixgbe. Signed-off-by: Nicholas Nunley <nicholasx.d.nunley@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/igb/igb_main.c')
-rw-r--r--drivers/net/igb/igb_main.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index ab7c5e97ed02..f588e49c65f1 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -3647,14 +3647,12 @@ dma_error:
3647 buffer_info->length = 0; 3647 buffer_info->length = 0;
3648 buffer_info->next_to_watch = 0; 3648 buffer_info->next_to_watch = 0;
3649 buffer_info->mapped_as_page = false; 3649 buffer_info->mapped_as_page = false;
3650 count--;
3651 3650
3652 /* clear timestamp and dma mappings for remaining portion of packet */ 3651 /* clear timestamp and dma mappings for remaining portion of packet */
3653 while (count >= 0) { 3652 while (count--) {
3654 count--; 3653 if (i == 0)
3654 i = tx_ring->count;
3655 i--; 3655 i--;
3656 if (i < 0)
3657 i += tx_ring->count;
3658 buffer_info = &tx_ring->buffer_info[i]; 3656 buffer_info = &tx_ring->buffer_info[i];
3659 igb_unmap_and_free_tx_resource(tx_ring, buffer_info); 3657 igb_unmap_and_free_tx_resource(tx_ring, buffer_info);
3660 } 3658 }