Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752082AbcCaG1v (ORCPT ); Thu, 31 Mar 2016 02:27:51 -0400 Received: from hqemgate16.nvidia.com ([216.228.121.65]:17737 "EHLO hqemgate16.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751149AbcCaG1u (ORCPT ); Thu, 31 Mar 2016 02:27:50 -0400 X-PGP-Universal: processed; by hqnvupgp07.nvidia.com on Wed, 30 Mar 2016 23:26:02 -0700 From: Shardar Shariff Md To: , , , , , , , , CC: Subject: [PATCH] dmaengine: tegra-apb: proper default init of channel slave_id Date: Thu, 31 Mar 2016 11:56:51 +0530 Message-ID: <1459405611-12470-1-git-send-email-smohammed@nvidia.com> X-Mailer: git-send-email 1.8.1.5 MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1505 Lines: 50 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 --- 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