Initialize default channel slave_id(req_sel) to -1 to avoid overwriting of slave_id with client data as zero is the valid slave_id(request_select). Signed-off-by: Shardar Shariff Md <smohammed@xxxxxxxxxx> --- drivers/dma/tegra20-apb-dma.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c index 3871f29..35a0df0 100644 --- a/drivers/dma/tegra20-apb-dma.c +++ b/drivers/dma/tegra20-apb-dma.c @@ -204,7 +204,7 @@ struct tegra_dma_channel { struct tasklet_struct tasklet; /* Channel-slave specific configuration */ - unsigned int slave_id; + int slave_id; struct dma_slave_config dma_sconfig; struct tegra_dma_channel_regs channel_reg; }; @@ -353,7 +353,7 @@ static int tegra_dma_slave_config(struct dma_chan *dc, } memcpy(&tdc->dma_sconfig, sconfig, sizeof(*sconfig)); - if (!tdc->slave_id) + if (tdc->slave_id == -1) tdc->slave_id = sconfig->slave_id; tdc->config_init = true; return 0; @@ -1236,7 +1236,7 @@ static void tegra_dma_free_chan_resources(struct dma_chan *dc) } pm_runtime_put(tdma->dev); - tdc->slave_id = 0; + tdc->slave_id = -1; } static struct dma_chan *tegra_dma_of_xlate(struct of_phandle_args *dma_spec, @@ -1389,6 +1389,7 @@ static int tegra_dma_probe(struct platform_device *pdev) &tdma->dma_dev.channels); tdc->tdma = tdma; tdc->id = i; + tdc->slave_id = -1; tasklet_init(&tdc->tasklet, tegra_dma_tasklet, (unsigned long)tdc); -- 1.8.1.5 -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html