Commit 4ee303df authored by Shuya MAEDA's avatar Shuya MAEDA Committed by David S. Miller

[PKT_SCHED]: PSCHED_TADD() and PSCHED_TADD2() can result,tv_usec >= 1000000

Signed-off-by: default avatarShuya MAEDA <maeda-sxb@necst.nec.co.jp>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 3d3a8533
...@@ -169,17 +169,23 @@ psched_tod_diff(int delta_sec, int bound) ...@@ -169,17 +169,23 @@ psched_tod_diff(int delta_sec, int bound)
#define PSCHED_TADD2(tv, delta, tv_res) \ #define PSCHED_TADD2(tv, delta, tv_res) \
({ \ ({ \
int __delta = (tv).tv_usec + (delta); \ int __delta = (delta); \
(tv_res).tv_sec = (tv).tv_sec; \ (tv_res) = (tv); \
if (__delta > USEC_PER_SEC) { (tv_res).tv_sec++; __delta -= USEC_PER_SEC; } \ while(__delta >= USEC_PER_SEC){ \
(tv_res).tv_sec++; \
__delta -= USEC_PER_SEC; \
} \
(tv_res).tv_usec = __delta; \ (tv_res).tv_usec = __delta; \
}) })
#define PSCHED_TADD(tv, delta) \ #define PSCHED_TADD(tv, delta) \
({ \ ({ \
(tv).tv_usec += (delta); \ int __delta = (delta); \
if ((tv).tv_usec > USEC_PER_SEC) { (tv).tv_sec++; \ while(__delta >= USEC_PER_SEC){ \
(tv).tv_usec -= USEC_PER_SEC; } \ (tv).tv_sec++; \
__delta -= USEC_PER_SEC; \
} \
(tv).tv_usec = __delta; \
}) })
/* Set/check that time is in the "past perfect"; /* Set/check that time is in the "past perfect";
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment