If you have an MCA kernel on non-MCA hardware and load an MCA driver,
mca_find_unused_adapter() ends up dereferencing NULL. 

Teach it about the absence of MCA buses. 


 drivers/mca/mca-legacy.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN drivers/mca/mca-legacy.c~mca_find_unused_adapter-oops-fix drivers/mca/mca-legacy.c
--- 25/drivers/mca/mca-legacy.c~mca_find_unused_adapter-oops-fix	2003-10-18 18:39:08.000000000 -0700
+++ 25-akpm/drivers/mca/mca-legacy.c	2003-10-18 18:39:17.000000000 -0700
@@ -123,7 +123,7 @@ int mca_find_unused_adapter(int id, int 
 {
 	struct mca_find_adapter_info info = { 0 };
 
-	if(id == 0xffff)
+	if (!MCA_bus || id == 0xffff)
 		return MCA_NOTFOUND;
 
 	info.slot = start;

_