openwrtv4/target/linux/brcm2708/patches-3.18/0094-dwc_otg-put-some-barriers-back-where-they-should-be-.patch
John Crispin 408c969626 brcm2708: update to v3.18
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 44392
2015-02-11 10:17:55 +00:00

45 lines
1.4 KiB
Diff
Executable file

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