Skip to content

Commit

Permalink
[PATCH] sk98lin: error handling of pci setup
Browse files Browse the repository at this point in the history
Don't enable the pci device twice (already done in the probe
routine).  Propogate the error codes from pci_request_region
back to initial probing.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
  • Loading branch information
Stephen Hemminger authored and Jeff Garzik committed Jan 9, 2006
1 parent 1628755 commit df22b8a
Showing 1 changed file with 6 additions and 13 deletions.
19 changes: 6 additions & 13 deletions drivers/net/sk98lin/skge.c
Original file line number Diff line number Diff line change
Expand Up @@ -292,17 +292,12 @@ static __devinit int SkGeInitPCI(SK_AC *pAC)
struct pci_dev *pdev = pAC->PciDev;
int retval;

if (pci_enable_device(pdev) != 0) {
return 1;
}

dev->mem_start = pci_resource_start (pdev, 0);
pci_set_master(pdev);

if (pci_request_regions(pdev, "sk98lin") != 0) {
retval = 2;
goto out_disable;
}
retval = pci_request_regions(pdev, "sk98lin");
if (retval)
goto out;

#ifdef SK_BIG_ENDIAN
/*
Expand All @@ -321,18 +316,16 @@ static __devinit int SkGeInitPCI(SK_AC *pAC)
* Remap the regs into kernel space.
*/
pAC->IoBase = ioremap_nocache(dev->mem_start, 0x4000);

if (!pAC->IoBase){
retval = 3;
if (!pAC->IoBase) {
retval = -EIO;
goto out_release;
}

return 0;

out_release:
pci_release_regions(pdev);
out_disable:
pci_disable_device(pdev);
out:
return retval;
}

Expand Down

0 comments on commit df22b8a

Please sign in to comment.