* 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
This commit is contained in:
Axel Dörfler
2007-10-30 16:56:15 +00:00
parent d8ff7084f2
commit d8f9591fa7
4 changed files with 5 additions and 4 deletions
+1 -1
View File
@@ -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
+2 -2
View File
@@ -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);
+1 -1
View File
@@ -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);
+1
View File
@@ -37,6 +37,7 @@ if_alloc(u_char type)
_kernel_free(ifp);
return NULL;
}
IFP2AC(ifp)->ac_ifp = ifp;
}
ifp->if_type = type;