summaryrefslogtreecommitdiff
path: root/target/linux/brcm2708/patches-3.18/0094-dwc_otg-put-some-barriers-back-where-they-should-be-.patch
blob: e570915813277dc2c1f7286c7f5cd20be53dc2a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
From 1e6d3936f120fd4420662850da0c89eb5c3d9f03 Mon Sep 17 00:00:00 2001
From: P33M <P33M@github.com>
Date: Thu, 22 Jan 2015 17:49:23 +0000
Subject: [PATCH 094/114] dwc_otg: put some barriers back where they should be
 for UP

---
 drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c | 2 ++
 drivers/usb/host/dwc_otg/dwc_otg_hcd.c     | 1 +
 2 files changed, 3 insertions(+)

diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
index 0d2b04e..276ad0c7 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
@@ -1280,6 +1280,7 @@ void notrace dwc_otg_fiq_fsm(struct fiq_state *state, int num_channels)
 
 	}
 	state->fiq_done++;
+	mb();
 	fiq_fsm_spin_unlock(&state->lock);
 }
 
@@ -1340,5 +1341,6 @@ void notrace dwc_otg_fiq_nop(struct fiq_state *state)
 
 	}
 	state->fiq_done++;
+	mb();
 	fiq_fsm_spin_unlock(&state->lock);
 }
diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
index 124ac16..ac70f1d 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
@@ -1928,6 +1928,7 @@ int fiq_fsm_queue_split_transaction(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh)
 		st->hcchar_copy.b.chen = 1;
 		DWC_WRITE_REG32(&hc_regs->hcchar, st->hcchar_copy.d32);
 	}
+	mb();
 	fiq_fsm_spin_unlock(&hcd->fiq_state->lock);
 	local_fiq_enable();
 	return 0;
-- 
1.8.3.2