aboutsummaryrefslogtreecommitdiffstats
path: root/usb/usb-musb-do-not-override-dma-mode-in-channel-program.patch
diff options
Diffstat (limited to 'usb/usb-musb-do-not-override-dma-mode-in-channel-program.patch')
-rw-r--r--usb/usb-musb-do-not-override-dma-mode-in-channel-program.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/usb/usb-musb-do-not-override-dma-mode-in-channel-program.patch b/usb/usb-musb-do-not-override-dma-mode-in-channel-program.patch
new file mode 100644
index 00000000000000..3da3fdbbe3866b
--- /dev/null
+++ b/usb/usb-musb-do-not-override-dma-mode-in-channel-program.patch
@@ -0,0 +1,39 @@
+From ajay.gupta@ti.com Thu Jul 8 11:41:23 2010
+From: Anand Gadiyar <gadiyar@ti.com>
+Date: Thu, 8 Jul 2010 16:34:55 +0530
+Subject: USB: musb: do not override DMA mode in channel program
+To: linux-usb@vger.kernel.org
+Cc: linux-omap@vger.kernel.org, felipe.balbi@nokia.com, gregkh@suse.de, Anand Gadiyar <gadiyar@ti.com>, Ajay Kumar Gupta <ajay.gupta@ti.com>
+Message-ID: <1278587095-16978-3-git-send-email-ajay.gupta@ti.com>
+
+
+From: Anand Gadiyar <gadiyar@ti.com>
+
+There is no reason for the DMA channel program to override the
+DMA mode passed down by its caller. Use the passed parameter
+directly, and let the caller handle the decision on which mode
+is to be used.
+
+Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
+Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
+Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/musb/musbhsdma.c | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+--- a/drivers/usb/musb/musbhsdma.c
++++ b/drivers/usb/musb/musbhsdma.c
+@@ -173,10 +173,7 @@ static int dma_channel_program(struct dm
+ musb_channel->max_packet_sz = packet_sz;
+ channel->status = MUSB_DMA_STATUS_BUSY;
+
+- if ((mode == 1) && (len >= packet_sz))
+- configure_channel(channel, packet_sz, 1, dma_addr, len);
+- else
+- configure_channel(channel, packet_sz, 0, dma_addr, len);
++ configure_channel(channel, packet_sz, mode, dma_addr, len);
+
+ return true;
+ }