Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 35199
b: refs/heads/master
c: 6dd62ab
h: refs/heads/master
i:
  35197: 2c84dc0
  35195: 87e3aab
  35191: e951db6
  35183: 81163ee
  35167: 106e468
  35135: b8bf32c
  35071: fd9a325
v: v3
  • Loading branch information
Vasily Averin authored and Auke Kok committed Aug 28, 2006
1 parent 14d1b4c commit 7fb7c65
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 17 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 401a552b8b318d594fc44d36e3da13ad475a41f7
refs/heads/master: 6dd62ab063ec12bf1343d244d89e09d5c3b79f51
44 changes: 28 additions & 16 deletions trunk/drivers/net/e1000/e1000_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -695,21 +695,20 @@ e1000_probe(struct pci_dev *pdev,
if ((err = pci_set_dma_mask(pdev, DMA_32BIT_MASK)) &&
(err = pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK))) {
E1000_ERR("No usable DMA configuration, aborting\n");
return err;
goto err_dma;
}
pci_using_dac = 0;
}

if ((err = pci_request_regions(pdev, e1000_driver_name)))
return err;
goto err_pci_reg;

pci_set_master(pdev);

err = -ENOMEM;
netdev = alloc_etherdev(sizeof(struct e1000_adapter));
if (!netdev) {
err = -ENOMEM;
if (!netdev)
goto err_alloc_etherdev;
}

SET_MODULE_OWNER(netdev);
SET_NETDEV_DEV(netdev, &pdev->dev);
Expand All @@ -724,11 +723,10 @@ e1000_probe(struct pci_dev *pdev,
mmio_start = pci_resource_start(pdev, BAR_0);
mmio_len = pci_resource_len(pdev, BAR_0);

err = -EIO;
adapter->hw.hw_addr = ioremap(mmio_start, mmio_len);
if (!adapter->hw.hw_addr) {
err = -EIO;
if (!adapter->hw.hw_addr)
goto err_ioremap;
}

for (i = BAR_1; i <= BAR_5; i++) {
if (pci_resource_len(pdev, i) == 0)
Expand Down Expand Up @@ -773,20 +771,19 @@ e1000_probe(struct pci_dev *pdev,
if ((err = e1000_sw_init(adapter)))
goto err_sw_init;

err = -EIO;
/* Flash BAR mapping must happen after e1000_sw_init
* because it depends on mac_type */
if ((adapter->hw.mac_type == e1000_ich8lan) &&
(pci_resource_flags(pdev, 1) & IORESOURCE_MEM)) {
flash_start = pci_resource_start(pdev, 1);
flash_len = pci_resource_len(pdev, 1);
adapter->hw.flash_address = ioremap(flash_start, flash_len);
if (!adapter->hw.flash_address) {
err = -EIO;
if (!adapter->hw.flash_address)
goto err_flashmap;
}
}

if ((err = e1000_check_phy_reset_block(&adapter->hw)))
if (e1000_check_phy_reset_block(&adapter->hw))
DPRINTK(PROBE, INFO, "PHY reset is blocked due to SOL/IDER session.\n");

/* if ksp3, indicate if it's port a being setup */
Expand Down Expand Up @@ -829,7 +826,7 @@ e1000_probe(struct pci_dev *pdev,

if (e1000_init_eeprom_params(&adapter->hw)) {
E1000_ERR("EEPROM initialization failed\n");
return -EIO;
goto err_eeprom;
}

/* before reading the EEPROM, reset the controller to
Expand All @@ -841,7 +838,6 @@ e1000_probe(struct pci_dev *pdev,

if (e1000_validate_eeprom_checksum(&adapter->hw) < 0) {
DPRINTK(PROBE, ERR, "The EEPROM Checksum Is Not Valid\n");
err = -EIO;
goto err_eeprom;
}

Expand All @@ -854,7 +850,6 @@ e1000_probe(struct pci_dev *pdev,

if (!is_valid_ether_addr(netdev->perm_addr)) {
DPRINTK(PROBE, ERR, "Invalid MAC Address\n");
err = -EIO;
goto err_eeprom;
}

Expand Down Expand Up @@ -963,16 +958,33 @@ e1000_probe(struct pci_dev *pdev,
return 0;

err_register:
e1000_release_hw_control(adapter);
err_eeprom:
if (!e1000_check_phy_reset_block(&adapter->hw))
e1000_phy_hw_reset(&adapter->hw);

if (adapter->hw.flash_address)
iounmap(adapter->hw.flash_address);
err_flashmap:
#ifdef CONFIG_E1000_NAPI
for (i = 0; i < adapter->num_rx_queues; i++)
dev_put(&adapter->polling_netdev[i]);
#endif

kfree(adapter->tx_ring);
kfree(adapter->rx_ring);
#ifdef CONFIG_E1000_NAPI
kfree(adapter->polling_netdev);
#endif
err_sw_init:
err_eeprom:
iounmap(adapter->hw.hw_addr);
err_ioremap:
free_netdev(netdev);
err_alloc_etherdev:
pci_release_regions(pdev);
err_pci_reg:
err_dma:
pci_disable_device(pdev);
return err;
}

Expand Down

0 comments on commit 7fb7c65

Please sign in to comment.