MLK-10405 dma: imx-sdma: fix uart6 rx not working
authorRobin Gong <b38343@freescale.com>
Wed, 11 Mar 2015 07:39:11 +0000 (15:39 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 19:47:25 +0000 (14:47 -0500)
The SDMA driver not consider the case of event_id0 is 0. That make uart6 rx
not working.

Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit dbcacbcb3a885d7569e9e415035b1dd06c4a117b)
(cherry picked from commit 6dfdbe41a7d6ab7e6fae5d6fb4d73435839beff3)

drivers/dma/imx-sdma.c

index 7d0c7be..155e65e 100644 (file)
@@ -1053,7 +1053,7 @@ static int sdma_config_channel(struct dma_chan *chan)
        sdmac->shp_addr = 0;
        sdmac->per_addr = 0;
 
-       if (sdmac->event_id0) {
+       if (sdmac->event_id0 >= 0) {
                if (sdmac->event_id0 >= sdmac->sdma->drvdata->num_events)
                        return -EINVAL;
                sdma_event_enable(sdmac, sdmac->event_id0);
@@ -1221,7 +1221,7 @@ static void sdma_free_chan_resources(struct dma_chan *chan)
 
        sdma_disable_channel(chan);
 
-       if (sdmac->event_id0)
+       if (sdmac->event_id0 >= 0)
                sdma_event_disable(sdmac, sdmac->event_id0);
        if (sdmac->event_id1)
                sdma_event_disable(sdmac, sdmac->event_id1);