2012-05-29 23:14:18

by devendra.aaru

[permalink] [raw]
Subject: [PATCH] r6040: disable pci device if the subsequent calls (after pci_enable_device) fails

the calls after the pci_enable_device may fail, and will error out with out
disabling it. disable the device at error paths.

Signed-off-by: Devendra Naga <[email protected]>
---
drivers/net/ethernet/rdc/r6040.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/rdc/r6040.c b/drivers/net/ethernet/rdc/r6040.c
index 4de7364..8f5079a 100644
--- a/drivers/net/ethernet/rdc/r6040.c
+++ b/drivers/net/ethernet/rdc/r6040.c
@@ -1096,20 +1096,20 @@ static int __devinit r6040_init_one(struct pci_dev *pdev,
if (err) {
dev_err(&pdev->dev, "32-bit PCI DMA addresses"
"not supported by the card\n");
- goto err_out;
+ goto err_out_disable_dev;
}
err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32));
if (err) {
dev_err(&pdev->dev, "32-bit PCI DMA addresses"
"not supported by the card\n");
- goto err_out;
+ goto err_out_disable_dev;
}

/* IO Size check */
if (pci_resource_len(pdev, bar) < io_size) {
dev_err(&pdev->dev, "Insufficient PCI resources, aborting\n");
err = -EIO;
- goto err_out;
+ goto err_out_disable_dev;
}

pci_set_master(pdev);
@@ -1117,7 +1117,7 @@ static int __devinit r6040_init_one(struct pci_dev *pdev,
dev = alloc_etherdev(sizeof(struct r6040_private));
if (!dev) {
err = -ENOMEM;
- goto err_out;
+ goto err_out_disable_dev;
}
SET_NETDEV_DEV(dev, &pdev->dev);
lp = netdev_priv(dev);
@@ -1238,6 +1238,8 @@ err_out_free_res:
pci_release_regions(pdev);
err_out_free_dev:
free_netdev(dev);
+err_out_disable_dev:
+ pci_disable_device(pdev);
err_out:
return err;
}
--
1.7.9.5


2012-05-29 23:18:16

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] r6040: disable pci device if the subsequent calls (after pci_enable_device) fails


Please number your patches so that there is no ambguity as to what
order the patches should be applied.

That is especially important for patches like these two which make
changes in the same areas of code.

2012-05-29 23:22:10

by devendra.aaru

[permalink] [raw]
Subject: Re: [PATCH] r6040: disable pci device if the subsequent calls (after pci_enable_device) fails

Hello David,

On Wed, May 30, 2012 at 4:48 AM, David Miller <[email protected]> wrote:
>
> Please number your patches so that there is no ambguity as to what
> order the patches should be applied.
>
> That is especially important for patches like these two which make
> changes in the same areas of code.

OK, so may i put these two changes into one and send it? or you want
it to be two patches?

Thanks,
Devendra.

2012-05-29 23:24:46

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] r6040: disable pci device if the subsequent calls (after pci_enable_device) fails

From: "devendra.aaru" <[email protected]>
Date: Wed, 30 May 2012 04:52:08 +0530

> Hello David,
>
> On Wed, May 30, 2012 at 4:48 AM, David Miller <[email protected]> wrote:
>>
>> Please number your patches so that there is no ambguity as to what
>> order the patches should be applied.
>>
>> That is especially important for patches like these two which make
>> changes in the same areas of code.
>
> OK, so may i put these two changes into one and send it? or you want
> it to be two patches?

It's up to you.

2012-05-29 23:34:59

by devendra.aaru

[permalink] [raw]
Subject: Re: [PATCH] r6040: disable pci device if the subsequent calls (after pci_enable_device) fails

Hello David,

On Wed, May 30, 2012 at 4:54 AM, David Miller <[email protected]> wrote:
> From: "devendra.aaru" <[email protected]>
> Date: Wed, 30 May 2012 04:52:08 +0530
>
>> Hello David,
>>
>>
>> OK, so may i put these two changes into one and send it? or you want
>> it to be two patches?
>
> It's up to you.

OK, i will be sending two patches shortly(with sequence numbers (git
format-patch -s -n)).

This time i have done compile testing and got no warnings.

Thanks,
Devendra.