drivers/ata/pata_octeon_cf.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)
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
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
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
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
© 2016 - 2026 Red Hat, Inc.