From d8f9591fa7ff318195cbe37367bbd11cb245b46f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Tue, 30 Oct 2007 16:56:15 +0000 Subject: [PATCH] * Fixed the loop in bus_generic_attach() that I accidently broke with the previous commit. * Calmed down the FreeBSD compatibility layer considerably. * Now also sets the arpcom's ac_ifp field for completeness. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22772 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/libs/compat/freebsd_network/Jamfile | 2 +- src/libs/compat/freebsd_network/bus.c | 4 ++-- src/libs/compat/freebsd_network/compat.c | 2 +- src/libs/compat/freebsd_network/if.c | 1 + 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/libs/compat/freebsd_network/Jamfile b/src/libs/compat/freebsd_network/Jamfile index 1a6df27581..0badf61723 100644 --- a/src/libs/compat/freebsd_network/Jamfile +++ b/src/libs/compat/freebsd_network/Jamfile @@ -5,7 +5,7 @@ UsePrivateHeaders kernel net ; UseHeaders [ FDirName $(SUBDIR) ] : true ; UseHeaders [ FDirName $(SUBDIR) compat ] : true ; -SubDirCcFlags [ FDefines _KERNEL=1 KTR=1 ] ; +SubDirCcFlags [ FDefines _KERNEL=1 ] ; KernelStaticLibrary libfreebsd_network.a : bus.c diff --git a/src/libs/compat/freebsd_network/bus.c b/src/libs/compat/freebsd_network/bus.c index 9a4131c735..a7549ac21d 100644 --- a/src/libs/compat/freebsd_network/bus.c +++ b/src/libs/compat/freebsd_network/bus.c @@ -176,7 +176,7 @@ intr_wrapper(void *data) { struct internal_intr *intr = data; - device_printf(intr->dev, "in interrupt handler.\n"); + //device_printf(intr->dev, "in interrupt handler.\n"); if (!HAIKU_CHECK_DISABLE_INTERRUPTS(intr->dev)) return B_UNHANDLED_INTERRUPT; @@ -209,7 +209,7 @@ intr_handler(void *data) if (status < B_OK) break; - device_printf(intr->dev, "in soft interrupt handler.\n"); + //device_printf(intr->dev, "in soft interrupt handler.\n"); intr->handler(intr->arg); HAIKU_REENABLE_INTERRUPTS(intr->dev); diff --git a/src/libs/compat/freebsd_network/compat.c b/src/libs/compat/freebsd_network/compat.c index 4fa97739f9..83f861200b 100644 --- a/src/libs/compat/freebsd_network/compat.c +++ b/src/libs/compat/freebsd_network/compat.c @@ -390,7 +390,7 @@ bus_generic_attach(device_t dev) { device_t child = NULL; - for (; child != NULL; child = list_get_next_item(&dev->children, child)) { + while ((child = list_get_next_item(&dev->children, child)) != NULL) { if (child->driver == NULL) { if (dev->driver == &miibus_driver) { driver_t *driver = __haiku_select_miibus_driver(child); diff --git a/src/libs/compat/freebsd_network/if.c b/src/libs/compat/freebsd_network/if.c index f442e3a976..2b30e7e136 100644 --- a/src/libs/compat/freebsd_network/if.c +++ b/src/libs/compat/freebsd_network/if.c @@ -37,6 +37,7 @@ if_alloc(u_char type) _kernel_free(ifp); return NULL; } + IFP2AC(ifp)->ac_ifp = ifp; } ifp->if_type = type;