diff options
-rw-r--r-- | net/core/pktgen.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/net/core/pktgen.c b/net/core/pktgen.c index 3045dd133071..ad41f06c13ca 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c | |||
@@ -3458,16 +3458,10 @@ static void pktgen_xmit(struct pktgen_dev *pkt_dev) | |||
3458 | 3458 | ||
3459 | /* If pkt_dev->count is zero, then run forever */ | 3459 | /* If pkt_dev->count is zero, then run forever */ |
3460 | if ((pkt_dev->count != 0) && (pkt_dev->sofar >= pkt_dev->count)) { | 3460 | if ((pkt_dev->count != 0) && (pkt_dev->sofar >= pkt_dev->count)) { |
3461 | if (atomic_read(&(pkt_dev->skb->users)) != 1) { | 3461 | while (atomic_read(&(pkt_dev->skb->users)) != 1) { |
3462 | ktime_t idle_start = ktime_now(); | 3462 | if (signal_pending(current)) |
3463 | while (atomic_read(&(pkt_dev->skb->users)) != 1) { | 3463 | break; |
3464 | if (signal_pending(current)) { | 3464 | idle(pkt_dev); |
3465 | break; | ||
3466 | } | ||
3467 | schedule(); | ||
3468 | } | ||
3469 | pkt_dev->idle_acc += ktime_to_ns(ktime_sub(ktime_now(), | ||
3470 | idle_start)); | ||
3471 | } | 3465 | } |
3472 | 3466 | ||
3473 | /* Done with this */ | 3467 | /* Done with this */ |