From b0d63aa773c36f121c8f5b98280227dd11e8bcf3 Mon Sep 17 00:00:00 2001 From: Jay Cheng Date: Wed, 27 Oct 2010 11:45:19 -0400 Subject: [PATCH] usb: host: ehci: Add missed memory barrier in the hcd driver There is one wmb missing in the usb host controller driver after the queue head update. Due to this data transaction is not happening on the bus after urb submission by the hcd driver. Register updates/queue heads data in the memory is not reflected on the AHB bus. After adding the wmb after queue head update data transaction the USB bus started with out any delay. originally fixed by Venkat Moganty Change-Id: Ic834df5172ac2f2eb3bced317d38b4a2e7a44801 Signed-off-by: Jay Cheng --- drivers/usb/host/ehci-q.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c index 233c288e3f93..760118370e73 100644 --- a/drivers/usb/host/ehci-q.c +++ b/drivers/usb/host/ehci-q.c @@ -1008,6 +1008,7 @@ static void qh_link_async (struct ehci_hcd *ehci, struct ehci_qh *qh) qh_get(qh); qh->xacterrs = 0; qh->qh_state = QH_STATE_LINKED; + wmb(); /* qtd completions reported later by interrupt */ } -- 2.34.1