Date: Thu, 10 Jun 2004 20:40:40 +0200 From: Alexander Marx <mad-ml@madness.at> To: freebsd-current@freebsd.org Subject: Re: Thinkpad panic woes (was Re: CDRW causes Thinkpad T41 to panic) Message-ID: <40C8AB28.709@madness.at> In-Reply-To: <Pine.GSO.4.10.10406031017330.24146-100000@pcnet5.pcnet.com> References: <Pine.GSO.4.10.10406031017330.24146-100000@pcnet5.pcnet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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: [0] http://www.madness.at/~mad/tp40panic/ > 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). regards, alex. ps: btw, my hang on shutdown w/ seems to have disappeard with this too ...
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?40C8AB28.709>