libpayload EHCI: Add memory barrier to EHCI driver

Hardware / Coreboot - Furquan Shaikh [google.com] - 19 March 2015 17:24 UTC

EHCI driver accesses mmio space using regular struct pointers. In order to avoid any CPU re-ordering, memory barrier is required in async_set_schedule, especially for arm64. Without the memory barrier, there seems to be re-ordering taking place which leads to USB errors with some flash drives as well as transfer errors in netboot.

BUG=chrome-os-partner:31533 BRANCH=None TEST=With the memory barrier introduced, netboot for ryu completes transfer without any error and finishes within 6-7 seconds.

Change-Id: Ib6d29dc79fd5722c27284478e8da316929e86bff

5b1c328 libpayload EHCI: Add memory barrier to EHCI driver
payloads/libpayload/drivers/usb/ehci.c | 9 +++++++++
1 file changed, 9 insertions(+)

Upstream: review.coreboot.org


  • Share