Subject: Re: p54: drop device reference count if fails to enable device

From: Christian Lamparter <[email-masked]>
Date: Fri, 19 Apr 2019 19:56:47 +0200

Subject should include a "[PATCH]" as per:
https://www.kernel.org/doc/html/v4.15/process/submitting-patches.html#include-patch-in-the-subject

Nevertheless, patchwork picked it up.... so, you are probably fine.

https://patchwork.kernel.org/patch/10905039/

On Wednesday, April 17, 2019 11:41:23 AM CEST Pan Bian wrote:
> The function p54p_probe takes an extra reference count of the PCI
> device. However, the extra reference count is not dropped when it fails
> to enable the PCI device. This patch fixes the bug.
> 
> Signed-off-by: Pan Bian <[email-masked]>
Cc: [email-masked] 
Acked-by: Christian Lamparter <[email-masked]>

> ---
>  drivers/net/wireless/intersil/p54/p54pci.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/intersil/p54/p54pci.c b/drivers/net/wireless/intersil/p54/p54pci.c
> index 27a4906..57ad564 100644
> --- a/drivers/net/wireless/intersil/p54/p54pci.c
> +++ b/drivers/net/wireless/intersil/p54/p54pci.c
> @@ -554,7 +554,7 @@ static int p54p_probe(struct pci_dev *pdev,
>  	err = pci_enable_device(pdev);
>  	if (err) {
>  		dev_err(&pdev->dev, "Cannot enable new PCI device\n");
> -		return err;
> +		goto err_put;
>  	}
>  
>  	mem_addr = pci_resource_start(pdev, 0);
> @@ -639,6 +639,7 @@ static int p54p_probe(struct pci_dev *pdev,
>  	pci_release_regions(pdev);
>   err_disable_dev:
>  	pci_disable_device(pdev);
> +err_put:
>  	pci_dev_put(pdev);
>  	return err;
>  }
>