Date: Mon, 18 Nov 2002 18:10:53 +0100 From: Thomas Quinot <thomas@FreeBSD.ORG> To: Christian Brueffer <chris@unixpages.org> Cc: freebsd-stable@FreeBSD.ORG Subject: Re: apm suspend/resume panic - atapicam related Message-ID: <20021118171053.GA82889@melusine.cuivre.fr.eu.org> In-Reply-To: <20021118135148.GH11536@unixpages.org> References: <20021117032558.GF11536@unixpages.org> <20021117230520.GB31217@melusine.cuivre.fr.eu.org> <20021118135148.GH11536@unixpages.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Le 2002-11-18, Christian Brueffer écrivait :
> Yes, the message also appears with a kernel without atapicam.
> Also, atapicd is enabled when I disable atapicam.
It would also be interesting to know whether the problem appears with
atapicam enabled and atapicd disabled. Might be an unforeseen
interaction between the two of them.
> I tried a kernel with the patch you sent, but it panics in the same way
> as before.
Hum. Well. Can you try to reproduce the panic with the following patch
instead:
Index: ata-all.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/ata-all.c,v
retrieving revision 1.50.2.42
diff -u -r1.50.2.42 ata-all.c
--- ata-all.c	1 Nov 2002 22:04:06 -0000	1.50.2.42
+++ ata-all.c	18 Nov 2002 17:06:33 -0000
@@ -872,8 +872,9 @@
     ATA_FORCELOCK_CH(ch, ATA_CONTROL);
     ch->running = NULL;
     devices = ch->devices;
-    ata_printf(ch, -1, "resetting devices .. ");
+    ata_printf(ch, -1, "resetting ata ch=%p, dev=%x .. ", ch, ch->devices);
     ata_reset(ch);
+    printf (" ndev=%x ", ch->devices);
 
     if ((misdev = devices & ~ch->devices)) {
 	if (misdev)
Index: atapi-all.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/atapi-all.c,v
retrieving revision 1.46.2.18
diff -u -r1.46.2.18 atapi-all.c
--- atapi-all.c	31 Oct 2002 23:10:33 -0000	1.46.2.18
+++ atapi-all.c	18 Nov 2002 17:08:09 -0000
@@ -232,6 +232,10 @@
 void
 atapi_start(struct ata_device *atadev)
 {
+    if (atadev->param == NULL) {
+	ata_printf(atadev->channel, atadev->unit, "null ATA params!\n");
+	return;
+    }
     switch (atadev->param->type) {
 #if NATAPICD > 0
     case ATAPI_TYPE_CDROM:
Thanks,
Thomas.
-- 
    Thomas.Quinot@Cuivre.FR.EU.ORG
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021118171053.GA82889>
