summaryrefslogtreecommitdiffstats
path: root/src/drivers/net
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/net')
-rw-r--r--src/drivers/net/legacy.c10
-rw-r--r--src/drivers/net/pnic.c16
-rw-r--r--src/drivers/net/rtl8139.c12
3 files changed, 28 insertions, 10 deletions
diff --git a/src/drivers/net/legacy.c b/src/drivers/net/legacy.c
index b0023b18..0c205aed 100644
--- a/src/drivers/net/legacy.c
+++ b/src/drivers/net/legacy.c
@@ -56,6 +56,14 @@ static void legacy_poll ( struct net_device *netdev ) {
}
}
+static int legacy_open ( struct net_device *netdev __unused ) {
+ return 0;
+}
+
+static void legacy_close ( struct net_device *netdev __unused ) {
+ /* Nothing to do */
+}
+
int legacy_probe ( struct pci_device *pci,
const struct pci_device_id *id __unused,
int ( * probe ) ( struct nic *nic,
@@ -74,6 +82,8 @@ int legacy_probe ( struct pci_device *pci,
memset ( &nic, 0, sizeof ( nic ) );
pci_set_drvdata ( pci, netdev );
+ netdev->open = legacy_open;
+ netdev->close = legacy_close;
netdev->transmit = legacy_transmit;
netdev->poll = legacy_poll;
nic.node_addr = netdev->ll_addr;
diff --git a/src/drivers/net/pnic.c b/src/drivers/net/pnic.c
index ad98c609..d8f2544e 100644
--- a/src/drivers/net/pnic.c
+++ b/src/drivers/net/pnic.c
@@ -186,6 +186,20 @@ static void pnic_irq ( struct net_device *netdev, irq_action_t action ) {
#endif
/**************************************************************************
+OPEN - Open network device
+***************************************************************************/
+static int pnic_open ( struct net_device *netdev __unused ) {
+ return 0;
+}
+
+/**************************************************************************
+CLOSE - Close network device
+***************************************************************************/
+static void pnic_close ( struct net_device *netdev __unused ) {
+ /* Nothing to do */
+}
+
+/**************************************************************************
DISABLE - Turn off ethernet interface
***************************************************************************/
static void pnic_remove ( struct pci_device *pci ) {
@@ -238,6 +252,8 @@ static int pnic_probe ( struct pci_device *pci,
netdev->ll_addr, ETH_ALEN, NULL );
/* Point to NIC specific routines */
+ netdev->open = pnic_open;
+ netdev->close = pnic_close;
netdev->poll = pnic_poll;
netdev->transmit = pnic_transmit;
diff --git a/src/drivers/net/rtl8139.c b/src/drivers/net/rtl8139.c
index 86c9c805..4592ed7d 100644
--- a/src/drivers/net/rtl8139.c
+++ b/src/drivers/net/rtl8139.c
@@ -542,8 +542,8 @@ static int rtl_probe ( struct pci_device *pci,
nvs_read ( &rtl->eeprom.nvs, EE_MAC, netdev->ll_addr, ETH_ALEN );
/* Point to NIC specific routines */
- // netdev->open = rtl_open;
- // netdev->close = rtl_close;
+ netdev->open = rtl_open;
+ netdev->close = rtl_close;
netdev->transmit = rtl_transmit;
netdev->poll = rtl_poll;
@@ -558,10 +558,6 @@ static int rtl_probe ( struct pci_device *pci,
goto err;
}
-#warning "Hack alert"
- rtl_open ( netdev );
-
-
return 0;
err:
@@ -584,10 +580,6 @@ static void rtl_remove ( struct pci_device *pci ) {
struct net_device *netdev = pci_get_drvdata ( pci );
struct rtl8139_nic *rtl = netdev->priv;
-
-#warning "Hack alert"
- rtl_close ( netdev );
-
if ( rtl->nvo.nvs )
nvo_unregister ( &rtl->nvo );
unregister_netdev ( netdev );