Thinkpad panic woes (was Re: CDRW causes Thinkpad T41 to panic)

Alexander Marx mad-ml at
Thu Jun 10 18:41:05 GMT 2004

Daniel Eischen wrote:
> My drive is on ata1-master, not the slave.  From what I can see,
> the failure for ata1-slave at boot up isn't a problem because
> there is no device present on that channel.  Once booted, I was
> able to use xmcd and play an audio CD on it, so it is at least
> working well enough for that.  5.2.1-RELEASE doesn't show the
> "ata1-slave FAILURE - ATAPI_IDENTIFY" message and booted just
> fine -- there were no "Memory modified after free" messages
> (and panic).  I did have to disable ACPI in order to get
> 5.2.1-RELEASE to work, though.

well, i've the very same problem here with a my thinkpad t40.

5.2.1 works only w/o acpi, 5.2 and -CURRENT (as of yesterday)
do not work at all with the cd/dvd present.

the panic w/ trace and a dmesg (boot -v but w/o cd/dvd)
is available here:


> The "memory modified after free" bothers me.  It indicates
> that either something is running amok with pointers, or that
> references are still being made after memory is free()'d.
> I've been trying to track it down, but I haven't had any
> luck so far.  Anyone have any ideas on how to debug this?

i tried to track the alloc/free's with some printf's
and discovered, that setting the retries=1 in ata-all.c
fixed it the panic in -current; my -current then boots with
acpi enabled and the cd/dvd present, without problem.

the patch:

--- ata-all.c.orig	Thu Jun 10 20:17:18 2004
+++ ata-all.c	Thu Jun 10 20:16:35 2004
@@ -560,7 +560,7 @@
      if (atadev->param) {
  	request = ata_alloc_request();
  	if (request) {
-	    int retries = 2;
+	    int retries = 1;
  	    while (retries-- > 0) {
  		request->device = atadev;
  		request->timeout = 5;

a dmesg w/ boot -v is available[0].

ofcourse this probably does not fix the real problem.
but it works-for-me(tm).


ps: btw, my hang on shutdown w/ seems to have disappeard
     with this too ...

More information about the freebsd-current mailing list