NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/38742: ahcisata/jmide hang

   It turns out that some local changes I made early on to try to
work around the problem were left in place and distorting the
analysis. Here is what I know now.

   The problem started with the changes on March 18 to "Split
device_t and softc for ATA devices, as well as wd(4)." With the
3/21 change to "set the atac dev pointer in the softc" in jmide.c
(1.5), the behavior changed from a hang to a panic, where the trace

ahci_intr_port() at netbsd:ahci_intr_port+0x29
ahci_intr() at netbsd:ahci_intr+0xaf
jmide_intr() at netbsd:jmide_intr+0x28
Xintr_ioapic_level5() at netbsd:Xintr_ioapic_level5+0xf3
--- interrupt ---
Xspllower() at netbsd:Xspllower+0xe
configure() at netbsd:configure+0x3b

   ahci_intr_port+0x29 is ahcisata_core.c:435:

435             struct ata_xfer *xfer = chp->ch_queue->active_xfer;

I did some testing a while back to determine whether chp or ch_queue
was null, but I can't find my notes, so I'll have to redo that.

   If I disable "ahcisata at jmide", the system makes it to single
user without the SATA or CD drive. If I disable "jmide", the system
makes it to single user without the CD, but with the SATA attached
to pciide.

                                        Gary Duzan

Home | Main Index | Thread Index | Old Index