ixgbe: Fix ixgbe_tx_map error path

Message ID 20100112110135.GK12666@kryten
State Awaiting Upstream, archived
Delegated to: David Miller
Headers show

Commit Message

Anton Blanchard Jan. 12, 2010, 11:01 a.m.
Commit e5a43549f7a58509a91b299a51337d386697b92c (ixgbe: remove
skb_dma_map/unmap calls from driver) looks to have introduced a bug in
ixgbe_tx_map. If we get an error from a PCI DMA call, we loop backwards
through count until it becomes -1 and return that.

The caller of ixgbe_tx_map expects 0 on error, so return that instead.


To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index 1a2ea62..af660ba 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -5174,7 +5174,7 @@  dma_error:
 		ixgbe_unmap_and_free_tx_resource(adapter, tx_buffer_info);
-	return count;
+	return 0;
 static void ixgbe_tx_queue(struct ixgbe_adapter *adapter,