Subject: kern/9362: crash in wdcattach on 1.4.2_ALPHA
To: None <gnats-bugs@gnats.netbsd.org>
From: None <he@netbsd.org>
List: netbsd-bugs
Date: 02/07/2000 00:48:39
>Number:         9362
>Category:       kern
>Synopsis:       crash in wdcattach on 1.4.2_ALPHA
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Feb  7 00:48:00 2000
>Last-Modified:
>Originator:     Havard Eidnes
>Organization:
	RUNIT AS
>Release:        NetBSD-1.4.2_ALPHA as of yesterday evening
>Environment:
NetBSD snylteveps.runit.sintef.no 1.4.1 NetBSD 1.4.1 (XPI) #2: Tue Nov  9 11:05:39 EST 1999     he@snylteveps.runit.sintef.no:/usr/src/sys/arch/i386/compile/XPI i386

(Yes, that's the old kernel, the new one didn't want to boot...)

>Description:
	Apparently some of the latest modifications to the wdc code
	broke the attachment of the first wd drive on my machine.  I
	get a panic in

	wdcattach+0x67, called from
	pciide_mapchan, called from
	cmd_channel_map, called from
	pciide_attach

	etc.

	The offending line seems to be

297             TAILQ_INIT(&chp->ch_queue->sc_xfer);

	in /sys/dev/ic/wdc.c

	The offending instruction is "movl $0,0(%ecx)", and ecx at the
	point of crash is 1.

>How-To-Repeat:
	Try to boot the most recent code on netbsd-1-4 on i386 with
	pciide hardware similar to:

pciide0 at pci0 dev 8 function 0: CMD Technology PCI0643
pciide0: bus-master DMA support present
pciide0: primary channel wired to compatibility mode
wd0 at pciide0 channel 0 drive 0: <IBM-DCRA-22160>
wd0: drive supports 16-sector pio transfers, lba addressing
wd0: 2067MB, 4200 cyl, 16 head, 63 sec, 512 bytes/sect x 4233600 sectors
wd0: 32-bits data port
wd0: drive supports PIO mode 4, DMA mode 2
pciide0: primary channel interrupting at irq 14
pciide0: secondary channel wired to compatibility mode
atapibus0 at pciide0 channel 1
cd0 at atapibus0 drive 0: <CD-ROM  CDR-N16D, , 1.40> type 5 cdrom removable
cd0: 32-bits data port
cd0: drive supports PIO mode 3, DMA mode 1
pciide0: secondary channel interrupting at irq 15
wd0(pciide0:0:0): using PIO mode 4, DMA mode 2 (using DMA data transfers)
cd0(pciide0:1:0): using PIO mode 3, DMA mode 1 (using DMA data transfers)

>Fix:
	Sorry, don't know.
>Audit-Trail:
>Unformatted: