Re: [PATCH v2] ata: pata_pxa: handle failure of devm_ioremap()

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

 



On 6/13/22 1:47 AM, Damien Le Moal wrote:

>>> As the possible failure of the devm_ioremap(), the return value
>>> could be NULL. Therefore it should be better to check it and
>>> print error message, return '-ENOMEM' error code.
> 
> This error is very unlikely. So unless you are seeing actual problems in
> the field, I do not think it is worth fixing.

   The error paths should absolutely be fixed. It helps avoid an oops later...

>>>
>>> Signed-off-by: Li Qiong <liqiong@xxxxxxxxxxxx>
>>> Reviewed-by: Sergey Shtylyov <s.shtylyov@xxxxxx>
>>> ---
>>> v2:
>>> - add driver's name (pata_pxa) to subject.
>>> ---
>>>  drivers/ata/pata_pxa.c | 5 +++++
>>>  1 file changed, 5 insertions(+)
>>>
>>> diff --git a/drivers/ata/pata_pxa.c b/drivers/ata/pata_pxa.c
>>> index 985f42c4fd70..cd1a8f37f920 100644
>>> --- a/drivers/ata/pata_pxa.c
>>> +++ b/drivers/ata/pata_pxa.c
>>> @@ -228,6 +228,11 @@ static int pxa_ata_probe(struct platform_device *pdev)
>>>  	ap->ioaddr.bmdma_addr	= devm_ioremap(&pdev->dev, dma_res->start,
>>>  						resource_size(dma_res));
>>
>>    Looking again into this driver, this statement doesn't make sense: dma_res
>> points to a DMA resource, calling devm_ioremap() on it is just wrong... and
> 
> Yes, having to do an ioremap of an IORESOURCE_DMA resource is rather
> unusual. dmaengine_slave_config() should be doing anything that is
> required for that resource.
> 
>> 'ap->ioaddr.bmdma_addr' doesn;t seem to be used anyways...
> 
> It is used in lbata-sff.c.

   Where exactly? To me, it looked like all ata_bmdma_port_ops were overridden
by the driver... Even if not so, I don't think such code is correct...

> 
> A much cleaner fix would be to use
> devm_platform_get_and_ioremap_resource() or
> devm_platform_ioremap_resource() which will also remove the call to
> platform_get_resource(().

   This is an -rc1 material.

> But as mentioned above, unless this is fixing an
> actual bug in production, I do not think this is worth it.

   I strongly disagree here.

MBR, Sergey



[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