vserver 2.0 rc7
[linux-2.6.git] / include / net / pkt_sched.h
index 87496e3..fcb05a3 100644 (file)
@@ -140,7 +140,7 @@ psched_tod_diff(int delta_sec, int bound)
        if (bound <= 1000000 || delta_sec > (0x7FFFFFFF/1000000)-1)
                return bound;
        delta = delta_sec * 1000000;
-       if (delta > bound)
+       if (delta > bound || delta < 0)
                delta = bound;
        return delta;
 }
@@ -156,7 +156,9 @@ psched_tod_diff(int delta_sec, int bound)
                   __delta += 1000000; \
           case 1: \
                   __delta += 1000000; \
-          case 0: ; \
+          case 0: \
+                  if (__delta > bound || __delta < 0) \
+                       __delta = bound; \
           } \
           __delta; \
 })