[PATCH] ata: pata_octeon_cf: Use common error handling code in octeon_cf_probe()

Markus Elfring posted 1 patch 2 months, 1 week ago
drivers/ata/pata_octeon_cf.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
[PATCH] ata: pata_octeon_cf: Use common error handling code in octeon_cf_probe()
Posted by Markus Elfring 2 months, 1 week ago
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Tue, 17 Sep 2024 13:43:24 +0200

Add a label so that a bit of exception handling can be better reused
in a subsequent if branch of this function implementation.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
 drivers/ata/pata_octeon_cf.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/ata/pata_octeon_cf.c b/drivers/ata/pata_octeon_cf.c
index 0bb9607e7348..62289f6aef95 100644
--- a/drivers/ata/pata_octeon_cf.c
+++ b/drivers/ata/pata_octeon_cf.c
@@ -848,14 +848,13 @@ static int octeon_cf_probe(struct platform_device *pdev)
 				struct resource *res_dma;
 				int i;
 				res_dma = platform_get_resource(dma_dev, IORESOURCE_MEM, 0);
-				if (!res_dma) {
-					put_device(&dma_dev->dev);
-					of_node_put(dma_node);
-					return -EINVAL;
-				}
+				if (!res_dma)
+					goto put_device;
+
 				cf_port->dma_base = (u64)devm_ioremap(&pdev->dev, res_dma->start,
 									 resource_size(res_dma));
 				if (!cf_port->dma_base) {
+put_device:
 					put_device(&dma_dev->dev);
 					of_node_put(dma_node);
 					return -EINVAL;
--
2.46.0
Re: [PATCH] ata: pata_octeon_cf: Use common error handling code in octeon_cf_probe()
Posted by Sergey Shtylyov 2 months, 1 week ago
On 9/17/24 14:50, Markus Elfring wrote:

> From: Markus Elfring <elfring@users.sourceforge.net>
> Date: Tue, 17 Sep 2024 13:43:24 +0200
> 
> Add a label so that a bit of exception handling can be better reused

   s/exception/error/.

> in a subsequent if branch of this function implementation.
> 
> This issue was detected by using the Coccinelle software.
> 
> Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
> ---
>  drivers/ata/pata_octeon_cf.c | 9 ++++-----
>  1 file changed, 4 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/ata/pata_octeon_cf.c b/drivers/ata/pata_octeon_cf.c
> index 0bb9607e7348..62289f6aef95 100644
> --- a/drivers/ata/pata_octeon_cf.c
> +++ b/drivers/ata/pata_octeon_cf.c
> @@ -848,14 +848,13 @@ static int octeon_cf_probe(struct platform_device *pdev)
>  				struct resource *res_dma;
>  				int i;
>  				res_dma = platform_get_resource(dma_dev, IORESOURCE_MEM, 0);
> -				if (!res_dma) {
> -					put_device(&dma_dev->dev);
> -					of_node_put(dma_node);
> -					return -EINVAL;
> -				}
> +				if (!res_dma)
> +					goto put_device;
> +
>  				cf_port->dma_base = (u64)devm_ioremap(&pdev->dev, res_dma->start,
>  									 resource_size(res_dma));
>  				if (!cf_port->dma_base) {
> +put_device:

   Ugh... :-/
   Please use the new-fangled *devm_platform_ioremap_resource() instead of those
old-fashioned APIs.

[...]

MBR, Sergey
Re: [PATCH] ata: pata_octeon_cf: Use common error handling code in octeon_cf_probe()
Posted by Sergey Shtylyov 2 months, 1 week ago
On 9/17/24 20:43, Sergey Shtylyov wrote:

>> From: Markus Elfring <elfring@users.sourceforge.net>
>> Date: Tue, 17 Sep 2024 13:43:24 +0200
>>
>> Add a label so that a bit of exception handling can be better reused
> 
>    s/exception/error/.
> 
>> in a subsequent if branch of this function implementation.
>>
>> This issue was detected by using the Coccinelle software.
>>
>> Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
>> ---
>>  drivers/ata/pata_octeon_cf.c | 9 ++++-----
>>  1 file changed, 4 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/ata/pata_octeon_cf.c b/drivers/ata/pata_octeon_cf.c
>> index 0bb9607e7348..62289f6aef95 100644
>> --- a/drivers/ata/pata_octeon_cf.c
>> +++ b/drivers/ata/pata_octeon_cf.c
>> @@ -848,14 +848,13 @@ static int octeon_cf_probe(struct platform_device *pdev)
>>  				struct resource *res_dma;
>>  				int i;
>>  				res_dma = platform_get_resource(dma_dev, IORESOURCE_MEM, 0);
>> -				if (!res_dma) {
>> -					put_device(&dma_dev->dev);
>> -					of_node_put(dma_node);
>> -					return -EINVAL;
>> -				}
>> +				if (!res_dma)
>> +					goto put_device;
>> +
>>  				cf_port->dma_base = (u64)devm_ioremap(&pdev->dev, res_dma->start,
>>  									 resource_size(res_dma));
>>  				if (!cf_port->dma_base) {
>> +put_device:
> 
>    Ugh... :-/
>    Please use the new-fangled *devm_platform_ioremap_resource() instead of those
> old-fashioned APIs.

   Another option is to place this error patch somewhere at the end
of this function but I think I prefer the new APIs.

[...]

MBR, Sergey
Re: [PATCH] ata: pata_octeon_cf: Use common error handling code in octeon_cf_probe()
Posted by Sergey Shtylyov 2 months, 1 week ago
On 9/17/24 23:44, Sergey Shtylyov wrote:
[...]

>>> From: Markus Elfring <elfring@users.sourceforge.net>
>>> Date: Tue, 17 Sep 2024 13:43:24 +0200
>>>
>>> Add a label so that a bit of exception handling can be better reused
>>
>>    s/exception/error/.
>>
>>> in a subsequent if branch of this function implementation.
>>>
>>> This issue was detected by using the Coccinelle software.
>>>
>>> Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
>>> ---
>>>  drivers/ata/pata_octeon_cf.c | 9 ++++-----
>>>  1 file changed, 4 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/drivers/ata/pata_octeon_cf.c b/drivers/ata/pata_octeon_cf.c
>>> index 0bb9607e7348..62289f6aef95 100644
>>> --- a/drivers/ata/pata_octeon_cf.c
>>> +++ b/drivers/ata/pata_octeon_cf.c
>>> @@ -848,14 +848,13 @@ static int octeon_cf_probe(struct platform_device *pdev)
>>>  				struct resource *res_dma;
>>>  				int i;
>>>  				res_dma = platform_get_resource(dma_dev, IORESOURCE_MEM, 0);
>>> -				if (!res_dma) {
>>> -					put_device(&dma_dev->dev);
>>> -					of_node_put(dma_node);
>>> -					return -EINVAL;
>>> -				}
>>> +				if (!res_dma)
>>> +					goto put_device;
>>> +
>>>  				cf_port->dma_base = (u64)devm_ioremap(&pdev->dev, res_dma->start,
>>>  									 resource_size(res_dma));
>>>  				if (!cf_port->dma_base) {
>>> +put_device:
>>
>>    Ugh... :-/
>>    Please use the new-fangled *devm_platform_ioremap_resource() instead of those

    Ugh, s/*//...

>> old-fashioned APIs.
> 
>    Another option is to place this error patch somewhere at the end

   s/patch/path/, of course... :-)

> of this function but I think I prefer the new APIs.

[...]

MBR, Sergey