|
@@ -2976,8 +2976,10 @@ static int bcm43xx_chipset_attach(struct bcm43xx_private *bcm)
|
|
|
err = bcm43xx_pctl_set_crystal(bcm, 1);
|
|
|
if (err)
|
|
|
goto out;
|
|
|
- bcm43xx_pci_read_config16(bcm, PCI_STATUS, &pci_status);
|
|
|
- bcm43xx_pci_write_config16(bcm, PCI_STATUS, pci_status & ~PCI_STATUS_SIG_TARGET_ABORT);
|
|
|
+ err = bcm43xx_pci_read_config16(bcm, PCI_STATUS, &pci_status);
|
|
|
+ if (err)
|
|
|
+ goto out;
|
|
|
+ err = bcm43xx_pci_write_config16(bcm, PCI_STATUS, pci_status & ~PCI_STATUS_SIG_TARGET_ABORT);
|
|
|
|
|
|
out:
|
|
|
return err;
|
|
@@ -3774,12 +3776,18 @@ static int bcm43xx_attach_board(struct bcm43xx_private *bcm)
|
|
|
}
|
|
|
net_dev->base_addr = (unsigned long)bcm->mmio_addr;
|
|
|
|
|
|
- bcm43xx_pci_read_config16(bcm, PCI_SUBSYSTEM_VENDOR_ID,
|
|
|
+ err = bcm43xx_pci_read_config16(bcm, PCI_SUBSYSTEM_VENDOR_ID,
|
|
|
&bcm->board_vendor);
|
|
|
- bcm43xx_pci_read_config16(bcm, PCI_SUBSYSTEM_ID,
|
|
|
+ if (err)
|
|
|
+ goto err_iounmap;
|
|
|
+ err = bcm43xx_pci_read_config16(bcm, PCI_SUBSYSTEM_ID,
|
|
|
&bcm->board_type);
|
|
|
- bcm43xx_pci_read_config16(bcm, PCI_REVISION_ID,
|
|
|
+ if (err)
|
|
|
+ goto err_iounmap;
|
|
|
+ err = bcm43xx_pci_read_config16(bcm, PCI_REVISION_ID,
|
|
|
&bcm->board_revision);
|
|
|
+ if (err)
|
|
|
+ goto err_iounmap;
|
|
|
|
|
|
err = bcm43xx_chipset_attach(bcm);
|
|
|
if (err)
|
|
@@ -3870,6 +3878,7 @@ err_pci_release:
|
|
|
pci_release_regions(pci_dev);
|
|
|
err_pci_disable:
|
|
|
pci_disable_device(pci_dev);
|
|
|
+ printk(KERN_ERR PFX "Unable to attach board\n");
|
|
|
goto out;
|
|
|
}
|
|
|
|