[coreboot-gerrit] New patch to review for coreboot: libpayload: usb: Reset ohci controller when trying to shutdown ohci

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Thu Jan 12 16:40:35 CET 2017


Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18125

-gerrit

commit 4c13a25f987dbf17875228d59abe7a0461dbf9c0
Author: Jeffy Chen <jeffy.chen at rock-chips.com>
Date:   Fri Dec 23 13:52:07 2016 +0800

    libpayload: usb: Reset ohci controller when trying to shutdown ohci
    
    Currently we just disabled ohci interrupts when calling ohci_shutdown,
    Which would not actually shutdown the ohci controller, for example it
    may still written the increased HccaFrameNumber to Hcca buffer.
    
    Perform a soft reset to ohci controller as the linux kernel ohci-hcd
    driver does.
    
    BUG=chrome-os-partner:60996
    BRANCH=None
    TEST=Checked on gru, no more "BUG: Bad page state" error in kernel.
    
    Change-Id: I128ab6ba455ac5383a4d48be0bc12b8bb4533464
    Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
    Original-Commit-Id: 4749fc82fdd1b74ca3f2ed3fdf0ef53a5e161087
    Original-Change-Id: I3f192aea627ba2fa69533bc0a4270466ca18f2a7
    Original-Signed-off-by: Jeffy Chen <jeffy.chen at rock-chips.com>
    Original-Reviewed-on: https://chromium-review.googlesource.com/426338
    Original-Reviewed-by: Douglas Anderson <dianders at chromium.org>
---
 payloads/libpayload/drivers/usb/ohci.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/payloads/libpayload/drivers/usb/ohci.c b/payloads/libpayload/drivers/usb/ohci.c
index 83bccb8..a5388cb 100644
--- a/payloads/libpayload/drivers/usb/ohci.c
+++ b/payloads/libpayload/drivers/usb/ohci.c
@@ -268,6 +268,7 @@ ohci_shutdown (hci_t *controller)
 		return;
 	detach_controller (controller);
 	ohci_stop(controller);
+	ohci_reset(controller);
 	free (OHCI_INST (controller)->hcca);
 	free ((void *)OHCI_INST (controller)->periodic_ed);
 	free (OHCI_INST (controller));



More information about the coreboot-gerrit mailing list