Messages in this thread | | | Date | Sun, 08 Aug 2010 22:29:04 +0200 | From | Jiri Slaby <> | Subject | Re: [PATCH 02/18] char: mxser: call disable_pci_device() if pci_probe() failed |
| |
On 08/06/2010 09:49 PM, Kulikov Vasiliy wrote: > --- a/drivers/char/mxser.c > +++ b/drivers/char/mxser.c > @@ -2564,8 +2564,11 @@ static int __devinit mxser_probe(struct pci_dev *pdev, > /* vector */ > ioaddress = pci_resource_start(pdev, 3); > retval = pci_request_region(pdev, 3, "mxser(vector)"); > - if (retval) > - goto err_relio; > + if (retval) { > + pci_release_region(pdev, 2); > + brd->info = NULL; > + goto err; > + } > brd->vector = ioaddress; > > /* irq */ > @@ -2616,10 +2619,11 @@ static int __devinit mxser_probe(struct pci_dev *pdev, > pci_set_drvdata(pdev, brd); > > return 0; > -err_relio: > - pci_release_region(pdev, 2); > err_null: > brd->info = NULL; > + pci_release_region(pdev, 2); > + pci_release_region(pdev, 3); > + pci_disable_device(pdev);
Why did you reorder this so that you cannot jump here from the fail path above?
thanks, -- js
| |