mirror of https://gitee.com/openkylin/linux.git
USB patch revert for 3.9-rc1
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. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iEYEABECAAYFAlExO/QACgkQMUfUDdst+yny+wCeO71iPtYEPUCl3uiE3TfzYBfW kNwAoNJT7mDkFpjJV2TWOYbQCb48pY9r =jJ6t -----END PGP SIGNATURE----- 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:
commit
bc2e4a90d9
|
@ -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 */
|
||||
|
|
Loading…
Reference in New Issue