From: Alan Stern Date: Fri, 11 Oct 2013 15:28:02 +0000 (-0400) Subject: USB: NS_TO_US should round up X-Git-Tag: firefly_0821_release~176^2~5061^2~76 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=63fb3a280061c5a1d9190015e5a074213f9d23c0;p=firefly-linux-kernel-4.4.55.git USB: NS_TO_US should round up Host controller drivers use the NS_TO_US macro to convert transaction times, which are computed in nanoseconds, to microseconds for scheduling. Periodic scheduling requires worst-case estimates, but the macro does its conversion using round-to-nearest. This patch changes it to use round-up, giving a correct worst-case value. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman --- diff --git a/include/linux/usb/hcd.h b/include/linux/usb/hcd.h index fc64b6825f5e..dbe3cd19ffd8 100644 --- a/include/linux/usb/hcd.h +++ b/include/linux/usb/hcd.h @@ -564,9 +564,8 @@ extern void usb_ep0_reinit(struct usb_device *); * of (7/6 * 8 * bytecount) = 9.33 * bytecount */ /* bytecount = data payload byte count */ -#define NS_TO_US(ns) ((ns + 500L) / 1000L) - /* convert & round nanoseconds to microseconds */ - +#define NS_TO_US(ns) DIV_ROUND_UP(ns, 1000L) + /* convert nanoseconds to microseconds, rounding up */ /* * Full/low speed bandwidth allocation constants/support.