diff options
-rw-r--r-- | net/core/pktgen.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/net/core/pktgen.c b/net/core/pktgen.c index bce9bf4b4a62..b7302e18764a 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c | |||
@@ -3450,15 +3450,17 @@ static void pktgen_xmit(struct pktgen_dev *pkt_dev) | |||
3450 | pkt_dev->last_ok = 0; | 3450 | pkt_dev->last_ok = 0; |
3451 | } | 3451 | } |
3452 | 3452 | ||
3453 | pkt_dev->next_tx_us = getCurUs(); | 3453 | if (pkt_dev->delay_us || pkt_dev->delay_ns) { |
3454 | pkt_dev->next_tx_ns = 0; | 3454 | pkt_dev->next_tx_us = getCurUs(); |
3455 | pkt_dev->next_tx_ns = 0; | ||
3455 | 3456 | ||
3456 | pkt_dev->next_tx_us += pkt_dev->delay_us; | 3457 | pkt_dev->next_tx_us += pkt_dev->delay_us; |
3457 | pkt_dev->next_tx_ns += pkt_dev->delay_ns; | 3458 | pkt_dev->next_tx_ns += pkt_dev->delay_ns; |
3458 | 3459 | ||
3459 | if (pkt_dev->next_tx_ns > 1000) { | 3460 | if (pkt_dev->next_tx_ns > 1000) { |
3460 | pkt_dev->next_tx_us++; | 3461 | pkt_dev->next_tx_us++; |
3461 | pkt_dev->next_tx_ns -= 1000; | 3462 | pkt_dev->next_tx_ns -= 1000; |
3463 | } | ||
3462 | } | 3464 | } |
3463 | } | 3465 | } |
3464 | __netif_tx_unlock_bh(txq); | 3466 | __netif_tx_unlock_bh(txq); |