diff --git a/[refs] b/[refs] index 5c437edb5b00..ca7b4e19e4cd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d63c66d2d08f52487f3ef32f1c9b1231d848966b +refs/heads/master: 22e186948a262c9cd377fb43aa50bb3c3f01c468 diff --git a/trunk/drivers/usb/host/ehci-sched.c b/trunk/drivers/usb/host/ehci-sched.c index e7a3b087083f..39340ae00ac4 100644 --- a/trunk/drivers/usb/host/ehci-sched.c +++ b/trunk/drivers/usb/host/ehci-sched.c @@ -2324,9 +2324,13 @@ scan_periodic (struct ehci_hcd *ehci) * No need to check for activity unless the * frame is current. */ - if (frame == clock_frame && live && - (q.sitd->hw_results & - SITD_ACTIVE(ehci))) { + if (((frame == clock_frame) || + (((frame + 1) % ehci->periodic_size) + == clock_frame)) + && live + && (q.sitd->hw_results & + SITD_ACTIVE(ehci))) { + incomplete = true; q_p = &q.sitd->sitd_next; hw_p = &q.sitd->hw_next;