فهرست منبع

ohci: Add missing cache-flush for hcca area

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@redhat.com>
Hans de Goede 9 سال پیش
والد
کامیت
b748b24fb5
1فایلهای تغییر یافته به همراه1 افزوده شده و 0 حذف شده
  1. 1 0
      drivers/usb/host/ohci-hcd.c

+ 1 - 0
drivers/usb/host/ohci-hcd.c

@@ -2205,6 +2205,7 @@ int ohci_register(struct udevice *dev, struct ohci_regs *regs)
 	if (!ohci->hcca)
 	if (!ohci->hcca)
 		return -ENOMEM;
 		return -ENOMEM;
 	memset(ohci->hcca, 0, sizeof(struct ohci_hcca));
 	memset(ohci->hcca, 0, sizeof(struct ohci_hcca));
+	flush_dcache_hcca(ohci->hcca);
 
 
 	if (hc_reset(ohci) < 0)
 	if (hc_reset(ohci) < 0)
 		return -EIO;
 		return -EIO;