diff options
author | Michael Brown | 2007-06-27 15:48:31 +0200 |
---|---|---|
committer | Michael Brown | 2007-06-27 15:48:31 +0200 |
commit | f77815f2b1ecf9f14441110ca61c0cffa48ce0e3 (patch) | |
tree | e55993b9b5acd1fbe2163b655ce3214390fdbbd3 /src/drivers/net/pnic.c | |
parent | Partial migration of UDP to data-xfer interface. (Will not link at (diff) | |
download | ipxe-f77815f2b1ecf9f14441110ca61c0cffa48ce0e3.tar.gz ipxe-f77815f2b1ecf9f14441110ca61c0cffa48ce0e3.tar.xz ipxe-f77815f2b1ecf9f14441110ca61c0cffa48ce0e3.zip |
Kill off hotplug.h and just make net devices normal reference-counted
structures.
DHCP still broken and #if 0'd out.
Diffstat (limited to 'src/drivers/net/pnic.c')
-rw-r--r-- | src/drivers/net/pnic.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/drivers/net/pnic.c b/src/drivers/net/pnic.c index 95571961..5d6b90c7 100644 --- a/src/drivers/net/pnic.c +++ b/src/drivers/net/pnic.c @@ -206,7 +206,7 @@ static void pnic_remove ( struct pci_device *pci ) { unregister_netdev ( netdev ); pnic_command ( pnic, PNIC_CMD_RESET, NULL, 0, NULL, 0, NULL ); - free_netdev ( netdev ); + netdev_put ( netdev ); } /************************************************************************** @@ -220,20 +220,18 @@ static int pnic_probe ( struct pci_device *pci, uint16_t status; int rc; - /* Fix up PCI device */ - adjust_pci_device ( pci ); - /* Allocate net device */ netdev = alloc_etherdev ( sizeof ( *pnic ) ); - if ( ! netdev ) { - rc = -ENOMEM; - goto err; - } + if ( ! netdev ) + return -ENOMEM; pnic = netdev->priv; pci_set_drvdata ( pci, netdev ); netdev->dev = &pci->dev; pnic->ioaddr = pci->ioaddr; + /* Fix up PCI device */ + adjust_pci_device ( pci ); + /* API version check */ status = pnic_command_quiet ( pnic, PNIC_CMD_API_VER, NULL, 0, &api_version, @@ -264,7 +262,7 @@ static int pnic_probe ( struct pci_device *pci, err: /* Free net device */ - free_netdev ( netdev ); + netdev_put ( netdev ); return rc; } |