[U-Boot] [PATCH] ohci: Add missing cache-flush for hcca area

Marek Vasut marex at denx.de
Wed Oct 21 00:31:20 CEST 2015


On Tuesday, October 20, 2015 at 06:39:29 PM, Hans de Goede wrote:
> We need to cache-flush the hcca area after the initial memset, otherwise
> on the first hc_interrupt we might see an old $random value as done_head
> and try to interpret that as the address for a completed td (followed by
> chaos).
> 
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>

Dang, this came three hours after the release of 2015.10 ;-)

Oh well. Applied, thanks!

> ---
>  drivers/usb/host/ohci-hcd.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c
> index 9bde2b2..ccbfc02 100644
> --- a/drivers/usb/host/ohci-hcd.c
> +++ b/drivers/usb/host/ohci-hcd.c
> @@ -2205,6 +2205,7 @@ int ohci_register(struct udevice *dev, struct
> ohci_regs *regs) if (!ohci->hcca)
>  		return -ENOMEM;
>  	memset(ohci->hcca, 0, sizeof(struct ohci_hcca));
> +	flush_dcache_hcca(ohci->hcca);
> 
>  	if (hc_reset(ohci) < 0)
>  		return -EIO;

Best regards,
Marek Vasut


More information about the U-Boot mailing list