diff options
Diffstat (limited to 'drivers/net/xen-netback/netback.c')
-rw-r--r-- | drivers/net/xen-netback/netback.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c index 828fdab4f1a4..919b6509455c 100644 --- a/drivers/net/xen-netback/netback.c +++ b/drivers/net/xen-netback/netback.c | |||
@@ -1380,9 +1380,8 @@ static int checksum_setup(struct xenvif *vif, struct sk_buff *skb) | |||
1380 | 1380 | ||
1381 | static bool tx_credit_exceeded(struct xenvif *vif, unsigned size) | 1381 | static bool tx_credit_exceeded(struct xenvif *vif, unsigned size) |
1382 | { | 1382 | { |
1383 | unsigned long now = jiffies; | 1383 | u64 now = get_jiffies_64(); |
1384 | unsigned long next_credit = | 1384 | u64 next_credit = vif->credit_window_start + |
1385 | vif->credit_timeout.expires + | ||
1386 | msecs_to_jiffies(vif->credit_usec / 1000); | 1385 | msecs_to_jiffies(vif->credit_usec / 1000); |
1387 | 1386 | ||
1388 | /* Timer could already be pending in rare cases. */ | 1387 | /* Timer could already be pending in rare cases. */ |
@@ -1390,8 +1389,8 @@ static bool tx_credit_exceeded(struct xenvif *vif, unsigned size) | |||
1390 | return true; | 1389 | return true; |
1391 | 1390 | ||
1392 | /* Passed the point where we can replenish credit? */ | 1391 | /* Passed the point where we can replenish credit? */ |
1393 | if (time_after_eq(now, next_credit)) { | 1392 | if (time_after_eq64(now, next_credit)) { |
1394 | vif->credit_timeout.expires = now; | 1393 | vif->credit_window_start = now; |
1395 | tx_add_credit(vif); | 1394 | tx_add_credit(vif); |
1396 | } | 1395 | } |
1397 | 1396 | ||
@@ -1403,6 +1402,7 @@ static bool tx_credit_exceeded(struct xenvif *vif, unsigned size) | |||
1403 | tx_credit_callback; | 1402 | tx_credit_callback; |
1404 | mod_timer(&vif->credit_timeout, | 1403 | mod_timer(&vif->credit_timeout, |
1405 | next_credit); | 1404 | next_credit); |
1405 | vif->credit_window_start = next_credit; | ||
1406 | 1406 | ||
1407 | return true; | 1407 | return true; |
1408 | } | 1408 | } |