From: Rabin Vincent Date: Wed, 6 Oct 2010 08:20:35 +0000 (+0000) Subject: DMAENGINE: ste_dma40: fix disabled channels list X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=f57b407cfd5fbd70251e9fa0ea7aa083ac06d25c;p=deliverable%2Flinux.git DMAENGINE: ste_dma40: fix disabled channels list The value in the array, not the index, specifies the channel to be disabled. Acked-by: Jonas Aaberg Signed-off-by: Rabin Vincent Signed-off-by: Linus Walleij Signed-off-by: Dan Williams --- diff --git a/drivers/dma/ste_dma40.c b/drivers/dma/ste_dma40.c index 05d0a9937617..2f73e366111e 100644 --- a/drivers/dma/ste_dma40.c +++ b/drivers/dma/ste_dma40.c @@ -2449,9 +2449,11 @@ static int __init d40_phy_res_init(struct d40_base *base) /* Mark disabled channels as occupied */ for (i = 0; base->plat_data->disabled_channels[i] != -1; i++) { - base->phy_res[i].allocated_src = D40_ALLOC_PHY; - base->phy_res[i].allocated_dst = D40_ALLOC_PHY; - num_phy_chans_avail--; + int chan = base->plat_data->disabled_channels[i]; + + base->phy_res[chan].allocated_src = D40_ALLOC_PHY; + base->phy_res[chan].allocated_dst = D40_ALLOC_PHY; + num_phy_chans_avail--; } dev_info(base->dev, "%d of %d physical DMA channels available\n",