From owner-freebsd-bugs Tue May 27 02:20:03 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id CAA04788 for bugs-outgoing; Tue, 27 May 1997 02:20:03 -0700 (PDT) Received: (from gnats@localhost) by hub.freebsd.org (8.8.5/8.8.5) id CAA04768; Tue, 27 May 1997 02:20:01 -0700 (PDT) Resent-Date: Tue, 27 May 1997 02:20:01 -0700 (PDT) Resent-Message-Id: <199705270920.CAA04768@hub.freebsd.org> Resent-From: gnats (GNATS Management) Resent-To: freebsd-bugs Resent-Reply-To: FreeBSD-gnats@FreeBSD.ORG, Joel.Faedi@esial.u-nancy.fr Received: (from nobody@localhost) by hub.freebsd.org (8.8.5/8.8.5) id CAA04686; Tue, 27 May 1997 02:15:03 -0700 (PDT) Message-Id: <199705270915.CAA04686@hub.freebsd.org> Date: Tue, 27 May 1997 02:15:03 -0700 (PDT) From: Joel.Faedi@esial.u-nancy.fr To: freebsd-gnats-submit@FreeBSD.ORG X-Send-Pr-Version: www-1.0 Subject: kern/3696: kernel panic during wd hard disk probe if CMD640 is enabled Sender: owner-bugs@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >Number: 3696 >Category: kern >Synopsis: kernel panic during wd hard disk probe if CMD640 is enabled >Confidential: no >Severity: critical >Priority: medium >Responsible: freebsd-bugs >State: open >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue May 27 02:20:00 PDT 1997 >Last-Modified: >Originator: ESIAL - Nancy (France) >Organization: >Release: 2.2.1 and 2.2.2 and above >Environment: FreeBSD meduse.scinfo.u-nancy.fr 2.2.1-RELEASE FreeBSD 2.2.1-RELEASE #0: Sun May 25 10:08:52 CEST 1997 faedi@meduse.scinfo.u-nancy.fr:/usr/src/sys/compile/MEDUSE i386 >Description: kernel panics while testing wd hard drive if "options CMD640" is activated and if you don't have wd1 connected (even if the controleris a CMD640 or not). >How-To-Repeat: compile a kernel with "options CMD640", put a single hard disk onyour first IDE controler, system panic while testing hard disks. >Fix: in file /usr/src/sys/i386/isa/wd.c, in function "wdattach", change the lines:-------------------------------------------------#ifdef CMD640 wdtab[du->dk_ctrlr_cmd640].b_active = 2; #else wdtab[dvp->id_unit].b_active = 2; #endif------------------------------------------------- by the lines:------------------------------------------------- #ifdef CMD640 if (eide_quirks & Q_CMD640B) { wdtab[PRIMARY].b_active = 2; } else { wdtab[dvp->id_unit].b_active = 2; } #else wdtab[dvp->id_unit].b_active = 2; #endif ------------------------------------------------- >Audit-Trail: >Unformatted: