I have this pending patch here... I added calls to the PCI bus manager in Haiku to avoid both OSS and native drivers accessing the same hardware, often resulting in a crash.
Hopefully this will allow adding OSS officially in the upcoming R1alpha2 release. François.
diff -r f998a89537d0 kernel/OS/BeOS/os_beos.c --- a/kernel/OS/BeOS/os_beos.c Fri Apr 16 18:30:49 2010 +0300 +++ b/kernel/OS/BeOS/os_beos.c Mon Apr 19 17:56:51 2010 +0200 @@ -1070,6 +1070,16 @@ { case DRV_PCI: /* NOP */ +#ifdef __HAIKU__ + if (gPCI->reserve_device(osdev->dip->pciinfo.bus, + osdev->dip->pciinfo.device, + osdev->dip->pciinfo.function, + "oss", osdev) != B_OK) { + cmn_err (CE_WARN, "Could not reserve PCI device\n"); + /* XXX: CLEANUP! */ + return NULL; + } +#endif break; case DRV_VIRTUAL: @@ -1152,6 +1162,12 @@ /* NOP */ //pci_config_teardown (&osdev->pci_config_handle); //osdev->pci_config_handle = NULL; +#ifdef __HAIKU__ + gPCI->unreserve_device(osdev->dip->pciinfo.bus, + osdev->dip->pciinfo.device, + osdev->dip->pciinfo.function, + "oss", osdev); +#endif break; }
_______________________________________________ oss-devel mailing list oss-devel@mailman.opensound.com http://mailman.opensound.com/mailman/listinfo/oss-devel