Nico Huber (nico.huber@secunet.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1074
-gerrit
commit 6ce9398ed02e1fd55b1f329de89e4eff5e1c8c2a Author: Nico Huber nico.huber@secunet.com Date: Mon May 21 14:38:08 2012 +0200
libpayload: Disable some buggy debugging code
This disables some debugging code in the OHCI USB driver which causes reboots under rare circumstances.
Change-Id: Ic274c162846137ee00638ffbc59ccf1d8130586f Signed-off-by: Nico Huber nico.huber@secunet.com --- payloads/libpayload/drivers/usb/ohci.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/payloads/libpayload/drivers/usb/ohci.c b/payloads/libpayload/drivers/usb/ohci.c index 3a1b51d..fa7db3a 100644 --- a/payloads/libpayload/drivers/usb/ohci.c +++ b/payloads/libpayload/drivers/usb/ohci.c @@ -214,6 +214,11 @@ wait_for_ed(usbdev_t *dev, ed_t *head) mdelay(1); } mdelay(5); +#if 0 + /* XXX: The following debugging code may follow invalid lists and + * cause a reboot. + */ +#ifdef USB_DEBUG if (OHCI_INST(dev->controller)->opreg->HcInterruptStatus & WritebackDoneHead) { debug("done queue:\n"); debug("%x, %x\n", OHCI_INST(dev->controller)->hcca->HccaDoneHead, phys_to_virt(OHCI_INST(dev->controller)->hcca->HccaDoneHead)); @@ -236,6 +241,8 @@ wait_for_ed(usbdev_t *dev, ed_t *head) } OHCI_INST(dev->controller)->opreg->HcInterruptStatus &= ~WritebackDoneHead; } +#endif +#endif
if (head->head_pointer & 1) { debug("HALTED!\n");