diff mbox series

p54: drop device reference count if fails to enable device

Message ID 1555494083-130833-1-git-send-email-bianpan2016@163.com (mailing list archive)
State Accepted
Commit 8149069db81853570a665f5e5648c0e526dc0e43
Delegated to: Kalle Valo
Headers show
Series p54: drop device reference count if fails to enable device | expand

Commit Message

Pan Bian April 17, 2019, 9:41 a.m. UTC
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 <bianpan2016@163.com>
---
 drivers/net/wireless/intersil/p54/p54pci.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Christian Lamparter April 19, 2019, 5:56 p.m. UTC | #1
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 <bianpan2016@163.com>
Cc: stable@vger.kernel.org 
Acked-by: Christian Lamparter <chunkeey@gmail.com>

> ---
>  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;
>  }
>
Kalle Valo April 25, 2019, 4:57 p.m. UTC | #2
Pan Bian <bianpan2016@163.com> 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.
> 
> Cc: stable@vger.kernel.org
> Signed-off-by: Pan Bian <bianpan2016@163.com>
> Acked-by: Christian Lamparter <chunkeey@gmail.com>

Patch applied to wireless-drivers-next.git, thanks.

8149069db818 p54: drop device reference count if fails to enable device
diff mbox series

Patch

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;
 }