From: Sergei Shtylyov <sergei.shtyl...@cogentembedded.com>

Commit 754fe4a92c07 ("usb: musb: Remove ifdefs for TX DMA for musb_host.c")
looks incomplete: the DMA engine checks are  done outside the Mentor/UX500
handler  but inside the CPPI/TUSB handler. Move the checks out of the CPPI/
TUSB handler into its caller, musb_tx_dma_program().

Signed-off-by: Sergei Shtylyov <sergei.shtyl...@cogentembedded.com>
[b-...@ti.com: revise subject prefix]
Signed-off-by: Bin Liu <b-...@ti.com>
---
 drivers/usb/musb/musb_host.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c
index dd1ebde..45a489e 100644
--- a/drivers/usb/musb/musb_host.c
+++ b/drivers/usb/musb/musb_host.c
@@ -684,9 +684,6 @@ static int musb_tx_dma_set_mode_cppi_tusb(struct 
dma_controller *dma,
 {
        struct dma_channel *channel = hw_ep->tx_channel;
 
-       if (!is_cppi_enabled(hw_ep->musb) && !tusb_dma_omap(hw_ep->musb))
-               return -ENODEV;
-
        channel->actual_len = 0;
 
        /*
@@ -710,9 +707,11 @@ static bool musb_tx_dma_program(struct dma_controller *dma,
        if (musb_dma_inventra(hw_ep->musb) || musb_dma_ux500(hw_ep->musb))
                res = musb_tx_dma_set_mode_mentor(dma, hw_ep, qh, urb,
                                                 offset, &length, &mode);
-       else
+       else if (is_cppi_enabled(hw_ep->musb) || tusb_dma_omap(hw_ep->musb))
                res = musb_tx_dma_set_mode_cppi_tusb(dma, hw_ep, qh, urb,
                                                     offset, &length, &mode);
+       else
+               return false;
        if (res)
                return false;
 
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to