summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorVenkat Moganty <vmoganty@nvidia.com>2010-09-23 23:14:57 +0530
committerYu-Huan Hsu <yhsu@nvidia.com>2010-10-05 14:49:18 -0700
commit80833ca384f1a58a207f98bba66905c6e0caac97 (patch)
tree250046912780c568b210f95f534d979f67070b9c /drivers
parente56813e913ac3b7cfe890f8438ee915a5e611ea8 (diff)
[usb-hcd]Adding 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. Bug 737242 (cherry picked from commit eff18c3f40253f7af0b576126b954d8572cbea64) Change-Id: I9f3ae6d8743a03a58034a82f4fe2850fd7278c4f Reviewed-on: http://git-master/r/7747 Reviewed-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com> Tested-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com> Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/host/ehci-q.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c
index c0d4b39a1180..1f8f3224f753 100644
--- a/drivers/usb/host/ehci-q.c
+++ b/drivers/usb/host/ehci-q.c
@@ -986,6 +986,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 */
}