On Sun, Sep 27, 2015 at 7:55 PM, yitian <yitian.bu@xxxxxxxxxxxxxx> wrote: > when channel number is less than maximum number, the register > address of all channels is wrong, which causes the "nollp" flag > is set for all channels even if HW supports llp. > > Signed-off-by: Yitian Bu <yitian.bu@xxxxxxxxxxxxxx> > --- > drivers/dma/dw/core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/dma/dw/core.c b/drivers/dma/dw/core.c > index cf1c87f..c2e9ac8 100644 > --- a/drivers/dma/dw/core.c > +++ b/drivers/dma/dw/core.c > @@ -1591,7 +1591,7 @@ int dw_dma_probe(struct dw_dma_chip *chip, struct > dw_dma_platform_data *pdata) > INIT_LIST_HEAD(&dw->dma.channels); > for (i = 0; i < nr_channels; i++) { > struct dw_dma_chan *dwc = &dw->chan[i]; > - int r = nr_channels - i - 1; > + int r = DW_DMA_MAX_NR_CHANNELS - i - 1; > > dwc->chan.device = &dw->dma; > dma_cookie_init(&dwc->chan); Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> -- 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