On 17-12-19, 12:50, Peter Ujfalusi wrote: > dma_request_slave_channel() is a wrapper on top of dma_request_chan() > eating up the error code. > > By using dma_request_chan() directly the driver can support deferred > probing against DMA. > > Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> > --- > drivers/ata/pata_arasan_cf.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/ata/pata_arasan_cf.c b/drivers/ata/pata_arasan_cf.c > index 135173c8d138..69b555d83f68 100644 > --- a/drivers/ata/pata_arasan_cf.c > +++ b/drivers/ata/pata_arasan_cf.c > @@ -526,9 +526,10 @@ static void data_xfer(struct work_struct *work) > > /* request dma channels */ > /* dma_request_channel may sleep, so calling from process context */ > - acdev->dma_chan = dma_request_slave_channel(acdev->host->dev, "data"); > - if (!acdev->dma_chan) { > + acdev->dma_chan = dma_request_chan(acdev->host->dev, "data"); > + if (IS_ERR(acdev->dma_chan)) { > dev_err(acdev->host->dev, "Unable to get dma_chan\n"); > + acdev->dma_chan = NULL; > goto chan_request_fail; > } > > @@ -539,6 +540,7 @@ static void data_xfer(struct work_struct *work) > } > > dma_release_channel(acdev->dma_chan); > + acdev->dma_chan = NULL; > > /* data xferred successfully */ > if (!ret) { Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> -- viresh