diff mbox

fpga: altera-cvp: Fix an error handling path in 'altera_cvp_probe()'

Message ID 20180611172049.26630-1-christophe.jaillet@wanadoo.fr (mailing list archive)
State Accepted, archived
Headers show

Commit Message

Christophe JAILLET June 11, 2018, 5:20 p.m. UTC
If 'fpga_mgr_create()' fails, we should release some resources, as done
in the other error handling path of the function.

Fixes: 7085e2a94f7d ("fpga: manager: change api, don't use drvdata")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
 drivers/fpga/altera-cvp.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Moritz Fischer June 13, 2018, 12:42 p.m. UTC | #1
Hi Christophe,

good catch!

On Mon, Jun 11, 2018 at 12:20 PM, Christophe JAILLET
<christophe.jaillet@wanadoo.fr> wrote:
> If 'fpga_mgr_create()' fails, we should release some resources, as done
> in the other error handling path of the function.
>
> Fixes: 7085e2a94f7d ("fpga: manager: change api, don't use drvdata")
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Moritz Fischer <mdf@kernel.org>
> ---
>  drivers/fpga/altera-cvp.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/fpga/altera-cvp.c b/drivers/fpga/altera-cvp.c
> index dd4edd8f22ce..7fa793672a7a 100644
> --- a/drivers/fpga/altera-cvp.c
> +++ b/drivers/fpga/altera-cvp.c
> @@ -455,8 +455,10 @@ static int altera_cvp_probe(struct pci_dev *pdev,
>
>         mgr = fpga_mgr_create(&pdev->dev, conf->mgr_name,
>                               &altera_cvp_ops, conf);
> -       if (!mgr)
> -               return -ENOMEM;
> +       if (!mgr) {
> +               ret = -ENOMEM;
> +               goto err_unmap;
> +       }
>
>         pci_set_drvdata(pdev, mgr);
>
> --
> 2.17.0
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fpga" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

Thanks,

Moritz
--
To unsubscribe from this list: send the line "unsubscribe linux-fpga" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Alan Tull June 13, 2018, 2:27 p.m. UTC | #2
On Wed, Jun 13, 2018 at 7:42 AM, Moritz Fischer
<moritz.fischer@ettus.com> wrote:
> Hi Christophe,
>
> good catch!

Yes, thanks!

>
> On Mon, Jun 11, 2018 at 12:20 PM, Christophe JAILLET
> <christophe.jaillet@wanadoo.fr> wrote:
>> If 'fpga_mgr_create()' fails, we should release some resources, as done
>> in the other error handling path of the function.
>>
>> Fixes: 7085e2a94f7d ("fpga: manager: change api, don't use drvdata")
>> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> Reviewed-by: Moritz Fischer <mdf@kernel.org>
Acked-by: Alan Tull <atull@kernel.org>

>> ---
>>  drivers/fpga/altera-cvp.c | 6 ++++--
>>  1 file changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/fpga/altera-cvp.c b/drivers/fpga/altera-cvp.c
>> index dd4edd8f22ce..7fa793672a7a 100644
>> --- a/drivers/fpga/altera-cvp.c
>> +++ b/drivers/fpga/altera-cvp.c
>> @@ -455,8 +455,10 @@ static int altera_cvp_probe(struct pci_dev *pdev,
>>
>>         mgr = fpga_mgr_create(&pdev->dev, conf->mgr_name,
>>                               &altera_cvp_ops, conf);
>> -       if (!mgr)
>> -               return -ENOMEM;
>> +       if (!mgr) {
>> +               ret = -ENOMEM;
>> +               goto err_unmap;
>> +       }
>>
>>         pci_set_drvdata(pdev, mgr);
>>
>> --
>> 2.17.0
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-fpga" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
> Thanks,
>
> Moritz
--
To unsubscribe from this list: send the line "unsubscribe linux-fpga" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/fpga/altera-cvp.c b/drivers/fpga/altera-cvp.c
index dd4edd8f22ce..7fa793672a7a 100644
--- a/drivers/fpga/altera-cvp.c
+++ b/drivers/fpga/altera-cvp.c
@@ -455,8 +455,10 @@  static int altera_cvp_probe(struct pci_dev *pdev,
 
 	mgr = fpga_mgr_create(&pdev->dev, conf->mgr_name,
 			      &altera_cvp_ops, conf);
-	if (!mgr)
-		return -ENOMEM;
+	if (!mgr) {
+		ret = -ENOMEM;
+		goto err_unmap;
+	}
 
 	pci_set_drvdata(pdev, mgr);