Skip site navigation (1)Skip section navigation (2)
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>