* 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:
@@ -5,7 +5,7 @@ UsePrivateHeaders kernel net ;
|
|||||||
UseHeaders [ FDirName $(SUBDIR) ] : true ;
|
UseHeaders [ FDirName $(SUBDIR) ] : true ;
|
||||||
UseHeaders [ FDirName $(SUBDIR) compat ] : true ;
|
UseHeaders [ FDirName $(SUBDIR) compat ] : true ;
|
||||||
|
|
||||||
SubDirCcFlags [ FDefines _KERNEL=1 KTR=1 ] ;
|
SubDirCcFlags [ FDefines _KERNEL=1 ] ;
|
||||||
|
|
||||||
KernelStaticLibrary libfreebsd_network.a :
|
KernelStaticLibrary libfreebsd_network.a :
|
||||||
bus.c
|
bus.c
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ intr_wrapper(void *data)
|
|||||||
{
|
{
|
||||||
struct internal_intr *intr = 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))
|
if (!HAIKU_CHECK_DISABLE_INTERRUPTS(intr->dev))
|
||||||
return B_UNHANDLED_INTERRUPT;
|
return B_UNHANDLED_INTERRUPT;
|
||||||
@@ -209,7 +209,7 @@ intr_handler(void *data)
|
|||||||
if (status < B_OK)
|
if (status < B_OK)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
device_printf(intr->dev, "in soft interrupt handler.\n");
|
//device_printf(intr->dev, "in soft interrupt handler.\n");
|
||||||
|
|
||||||
intr->handler(intr->arg);
|
intr->handler(intr->arg);
|
||||||
HAIKU_REENABLE_INTERRUPTS(intr->dev);
|
HAIKU_REENABLE_INTERRUPTS(intr->dev);
|
||||||
|
|||||||
@@ -390,7 +390,7 @@ bus_generic_attach(device_t dev)
|
|||||||
{
|
{
|
||||||
device_t child = NULL;
|
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 (child->driver == NULL) {
|
||||||
if (dev->driver == &miibus_driver) {
|
if (dev->driver == &miibus_driver) {
|
||||||
driver_t *driver = __haiku_select_miibus_driver(child);
|
driver_t *driver = __haiku_select_miibus_driver(child);
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ if_alloc(u_char type)
|
|||||||
_kernel_free(ifp);
|
_kernel_free(ifp);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
IFP2AC(ifp)->ac_ifp = ifp;
|
||||||
}
|
}
|
||||||
|
|
||||||
ifp->if_type = type;
|
ifp->if_type = type;
|
||||||
|
|||||||
Reference in New Issue
Block a user