|
@@ -4629,7 +4629,7 @@ static void e1000_tx_queue(struct e1000_adapter *adapter,
|
|
|
|
|
|
i = tx_ring->next_to_use;
|
|
|
|
|
|
- while (count--) {
|
|
|
+ do {
|
|
|
buffer_info = &tx_ring->buffer_info[i];
|
|
|
tx_desc = E1000_TX_DESC(*tx_ring, i);
|
|
|
tx_desc->buffer_addr = cpu_to_le64(buffer_info->dma);
|
|
@@ -4640,7 +4640,7 @@ static void e1000_tx_queue(struct e1000_adapter *adapter,
|
|
|
i++;
|
|
|
if (i == tx_ring->count)
|
|
|
i = 0;
|
|
|
- }
|
|
|
+ } while (--count > 0);
|
|
|
|
|
|
tx_desc->lower.data |= cpu_to_le32(adapter->txd_cmd);
|
|
|
|