diff options
author | David S. Miller <davem@davemloft.net> | 2010-10-07 06:11:17 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-10-07 06:11:17 +0400 |
commit | 12e94471b2be5ef9b55b10004a3a2cd819490036 (patch) | |
tree | f84ae818687dc7c35bd54f11bfb9717278d28a4e /drivers/usb/musb/musb_host.c | |
parent | 79315068f4560f3f7bd6e9790190dcb43059770c (diff) | |
parent | cb655d0f3d57c23db51b981648e452988c0223f9 (diff) | |
download | linux-12e94471b2be5ef9b55b10004a3a2cd819490036.tar.xz |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
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 877d20b1dff9..9e65c47cc98b 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); |