Re: [PATCH] ata: pata_arasam_cf: Use dma_request_chan() instead dma_request_slave_channel()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/17/19 12:19 PM, Viresh Kumar wrote:
> 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.

It doesn't seem to be the case as DMA channel is requested at the start
of the data transfer (which happens after the driver has been successfully
probed).

PS there is a typo in the patch summary (it should "pata_arasan_cf").

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics

>> 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>
> 




[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux