diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2010-10-13 16:18:36 +1100 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2010-10-13 16:18:36 +1100 |
commit | 4783f393de3077211c14675a0e57c8a02e9190b0 (patch) | |
tree | 6c37d8664eb072fd026db3706481d771da4495ca /drivers/usb/musb/musb_host.c | |
parent | 9f5f9ffe50e90ed73040d2100db8bfc341cee352 (diff) | |
parent | 5b8544c38e6fde6968645afd46ff681492192b86 (diff) |
Merge remote branch 'kumar/merge' into next
Diffstat (limited to 'drivers/usb/musb/musb_host.c')
-rw-r--r-- | drivers/usb/musb/musb_host.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c index 877d20b1dff..9e65c47cc98 100644 --- a/drivers/usb/musb/musb_host.c +++ b/drivers/usb/musb/musb_host.c @@ -660,6 +660,12 @@ static bool musb_tx_dma_program(struct dma_controller *dma, qh->segsize = length; + /* + * Ensure the data reaches to main memory before starting + * DMA transfer + */ + wmb(); + if (!dma->channel_program(channel, pkt_size, mode, urb->transfer_dma + offset, length)) { dma->channel_release(channel); |