Merge tag 'usb-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Pull USB patch revert from Greg Kroah-Hartman: "Here is one remaining USB patch for 3.9-rc1, it reverts a 3.8 patch that has caused a lot of regressions for some VIA EHCI controllers." * tag 'usb-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: USB: EHCI: revert "remove ASS/PSS polling timeout"
This commit is contained in:
@@ -113,15 +113,14 @@ static void ehci_poll_ASS(struct ehci_hcd *ehci)
|
||||
|
||||
if (want != actual) {
|
||||
|
||||
/* Poll again later */
|
||||
ehci_enable_event(ehci, EHCI_HRTIMER_POLL_ASS, true);
|
||||
++ehci->ASS_poll_count;
|
||||
return;
|
||||
/* Poll again later, but give up after about 20 ms */
|
||||
if (ehci->ASS_poll_count++ < 20) {
|
||||
ehci_enable_event(ehci, EHCI_HRTIMER_POLL_ASS, true);
|
||||
return;
|
||||
}
|
||||
ehci_dbg(ehci, "Waited too long for the async schedule status (%x/%x), giving up\n",
|
||||
want, actual);
|
||||
}
|
||||
|
||||
if (ehci->ASS_poll_count > 20)
|
||||
ehci_dbg(ehci, "ASS poll count reached %d\n",
|
||||
ehci->ASS_poll_count);
|
||||
ehci->ASS_poll_count = 0;
|
||||
|
||||
/* The status is up-to-date; restart or stop the schedule as needed */
|
||||
@@ -160,14 +159,14 @@ static void ehci_poll_PSS(struct ehci_hcd *ehci)
|
||||
|
||||
if (want != actual) {
|
||||
|
||||
/* Poll again later */
|
||||
ehci_enable_event(ehci, EHCI_HRTIMER_POLL_PSS, true);
|
||||
return;
|
||||
/* Poll again later, but give up after about 20 ms */
|
||||
if (ehci->PSS_poll_count++ < 20) {
|
||||
ehci_enable_event(ehci, EHCI_HRTIMER_POLL_PSS, true);
|
||||
return;
|
||||
}
|
||||
ehci_dbg(ehci, "Waited too long for the periodic schedule status (%x/%x), giving up\n",
|
||||
want, actual);
|
||||
}
|
||||
|
||||
if (ehci->PSS_poll_count > 20)
|
||||
ehci_dbg(ehci, "PSS poll count reached %d\n",
|
||||
ehci->PSS_poll_count);
|
||||
ehci->PSS_poll_count = 0;
|
||||
|
||||
/* The status is up-to-date; restart or stop the schedule as needed */
|
||||
|
Reference in New Issue
Block a user