mirror of
https://github.com/torvalds/linux.git
synced 2024-11-16 17:12:06 +00:00
xhci: fix integer overflow
xhci_service_interval_to_ns() returns long long
to avoid an overflow. However, the type cast happens
too late. The fix is to force ULL from the beginning.
This patch should be backported to kernels as old as 3.5, that contain
the commit e3567d2c15
"xhci: Add Intel
U1/U2 timeout policy."
Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
CC: stable@vger.kernel.org
This commit is contained in:
parent
966e7a8541
commit
16b45fdf9c
@ -4021,7 +4021,7 @@ int xhci_update_device(struct usb_hcd *hcd, struct usb_device *udev)
|
||||
static unsigned long long xhci_service_interval_to_ns(
|
||||
struct usb_endpoint_descriptor *desc)
|
||||
{
|
||||
return (1 << (desc->bInterval - 1)) * 125 * 1000;
|
||||
return (1ULL << (desc->bInterval - 1)) * 125 * 1000;
|
||||
}
|
||||
|
||||
static u16 xhci_get_timeout_no_hub_lpm(struct usb_device *udev,
|
||||
|
Loading…
Reference in New Issue
Block a user