/* Like many other parts of the driver, this code relies on being polled more than once per second as long as the controller is running.  */
static void uhci_get_current_frame_number(struct uhci_hcd *uhci)
/* Like many other parts of the driver, this code relies on being polled more than once per second as long as the controller is running.  */
static void uhci_get_current_frame_number(struct uhci_hcd *uhci)
{
	if (!uhci->is_stopped) {
		unsigned delta;
		delta = (inw(uhci->io_addr + USBFRNUM) - uhci->frame_number) &
				(UHCI_NUMFRAMES - 1);
		uhci->frame_number += delta;
	}
}