This should now actually fix the recursive lookup of the net_stack_driver. We must only load the networking core once.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12363 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
718b5114e0
commit
4ce3301a57
@ -1,5 +1,5 @@
|
||||
# This loads the net_stack_driver that loads and provides the interface to the networking core.
|
||||
#ls /dev/net_stack
|
||||
#ls /dev/net
|
||||
|
||||
# That is a static version of the network interface setup.
|
||||
# You have to edit it to match your driver/ip/subnet.
|
||||
|
@ -11,12 +11,7 @@
|
||||
// Forward declaration
|
||||
struct sockaddr;
|
||||
|
||||
#ifndef __HAIKU__
|
||||
#define NET_STACK_DRIVER_DEV "net/stack"
|
||||
#else
|
||||
#define NET_STACK_DRIVER_DEV "net_stack/stack"
|
||||
#endif
|
||||
|
||||
#define NET_STACK_DRIVER_PATH "/dev/" ## NET_STACK_DRIVER_DEV
|
||||
|
||||
enum {
|
||||
|
@ -215,7 +215,6 @@ $mkdir -p beos/system/add-ons/kernel/drivers/dev/disk/scsi
|
||||
$mkdir -p beos/system/add-ons/kernel/drivers/dev/graphics
|
||||
$mkdir -p beos/system/add-ons/kernel/drivers/dev/input
|
||||
$mkdir -p beos/system/add-ons/kernel/drivers/dev/misc
|
||||
$mkdir -p beos/system/add-ons/kernel/drivers/dev/net_stack
|
||||
$mkdir -p beos/system/add-ons/kernel/drivers/dev/net
|
||||
$mkdir -p beos/system/add-ons/kernel/file_systems
|
||||
$mkdir -p beos/system/add-ons/kernel/console
|
||||
@ -389,7 +388,7 @@ for f in drivers/dev/dprintf drivers/dev/keyboard drivers/dev/null \
|
||||
drivers/dev/net/bcm570x drivers/dev/net/ipro1000 \
|
||||
drivers/dev/net/rtl8139 drivers/dev/net/rtl8169 \
|
||||
drivers/dev/net/sis900 drivers/dev/net/via-rhine \
|
||||
drivers/dev/net/wb840 drivers/dev/net_stack/net_stack_driver; do
|
||||
drivers/dev/net/wb840 drivers/dev/net/net_stack_driver; do
|
||||
relName=$(echo $f | sed -e s@drivers/dev/@@)
|
||||
linkName=bin/$(basename $f)
|
||||
while [ $relName != . ]; do
|
||||
|
@ -188,25 +188,26 @@ _EXPORT status_t init_hardware(void)
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* init_driver()
|
||||
* called every time we're loaded.
|
||||
*/
|
||||
_EXPORT status_t init_driver(void)
|
||||
{
|
||||
int rv = 0;
|
||||
|
||||
rv = get_module(NET_CORE_MODULE_NAME, (module_info **) &core);
|
||||
if (rv < 0) {
|
||||
TRACE((LOGID ERR "init_driver: Argh, can't load " NET_CORE_MODULE_NAME " module: %d\n", rv));
|
||||
return rv;
|
||||
// only get the core module if we don't have it loaded already
|
||||
if (!core) {
|
||||
int rv = 0;
|
||||
rv = get_module(NET_CORE_MODULE_NAME, (module_info **) &core);
|
||||
if (rv < 0) {
|
||||
TRACE((LOGID ERR "init_driver: Argh, can't load " NET_CORE_MODULE_NAME " module: %d\n", rv));
|
||||
return rv;
|
||||
}
|
||||
|
||||
TRACE((LOGID "init_driver: built %s %s, core = %p\n", __DATE__, __TIME__, core));
|
||||
|
||||
// start the network stack!
|
||||
core->start();
|
||||
}
|
||||
|
||||
TRACE((LOGID "init_driver: built %s %s, core = %p\n", __DATE__, __TIME__, core));
|
||||
|
||||
// start the network stack!
|
||||
core->start();
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@ -225,6 +226,7 @@ _EXPORT void uninit_driver(void)
|
||||
core->stop();
|
||||
#endif
|
||||
put_module(NET_CORE_MODULE_NAME);
|
||||
core = NULL;
|
||||
};
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user