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 - 2024 Red Hat, Inc.