Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!husc6!ddl From: ddl@husc6.HARVARD.EDU (Dan Lanciani) Newsgroups: net.bugs.4bsd Subject: vax/autoconf.c bug Message-ID: <210@husc6.HARVARD.EDU> Date: Thu, 11-Sep-86 03:41:12 EDT Article-I.D.: husc6.210 Posted: Thu Sep 11 03:41:12 1986 Date-Received: Thu, 11-Sep-86 07:34:09 EDT Organization: Harvard University, Cambridge Mass Lines: 32 Subject: autoconf repeatedly finds the same mass-storage device Index: sys/vax/autoconf.c 4.3BSD Description: The vax autoconfiguration system will incorrectly find mass- storage devices more than once if a kernel is used on a machine with fewer devices than it expects AND at least one of the devices actually present is at a "standard" address. Repeat-By: Configure a kernel for two uda devices. Boot it on a machine with only one uda50 at one of the standard addresses. Watch as the uda50 is found twice: once at the address you configured and again at a "standard" address when the second, configured address fails. Fix: Apply the following context diff to autoconf.c: *** autoconf.c.bad Thu Sep 11 03:20:40 1986 --- autoconf.c Thu Sep 11 03:20:56 1986 *************** *** 686,691 **** --- 686,693 ---- continue; } printf("vec %o, ipl %x\n", cvec, br); + while (--i >= 0) + ualloc[ubaoff(addr+i)] = 1; um->um_alive = 1; um->um_ubanum = numuba; um->um_hd = &uba_hd[numuba];