diff --git a/net/eth.c b/net/eth.c index d4446fd64..e20c74cdb 100644 --- a/net/eth.c +++ b/net/eth.c @@ -42,7 +42,7 @@ struct eth_device * eth_get_current(void) return eth_current; } -int eth_init(void) +int eth_open(void) { char mac[6]; @@ -55,7 +55,7 @@ int eth_init(void) eth_current->open(eth_current); - return 1; + return 0; } void eth_halt(void) @@ -115,6 +115,8 @@ int eth_register(struct eth_device *edev) // memcpy(edev->enetaddr, ethaddr, 6); } + edev->init(edev); + eth_current = edev; return 0; diff --git a/net/net.c b/net/net.c index 795264519..22ef672dc 100644 --- a/net/net.c +++ b/net/net.c @@ -287,7 +287,7 @@ NetLoop(proto_t protocol) NetArpWaitTxPacketSize = 0; } - if (eth_init() < 0) + if (eth_open() < 0) return -1; restart: