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; _