memory corruption/panic solved ("FAILURE - ATAPI_IDENTIFY no
interrupt")
Matthew Dillon
dillon at apollo.backplane.com
Fri Jul 30 17:14:09 PDT 2004
:I've tracked down the source of the memory corruption in -current that
:results when booting with various CD and DVD drives (especially the ones
:that come with Thinkpads including T23, R32, T41, etc.) The panic is
:..
Nick, what about the retry code in ata_completed()? (ata-queue.c 229).
Does it need to reset donecount as well? Both the code in 5.x and
the code in 4.x looks 'dangerous' with regards to general retries.
The 5.x code seems to handle retries generically via
ata_finish()->ata_completed()->(retry handling), and this seems to
include IMMEDIATE requests, and it does not appear to reset the
donecount when it requeues.
The 4.x code seems to handle retries in ad_timeout() and ad_interrupt()
(and doesn't reset donecount in either case as far as I can tell),
and the 4.x code's addump() seems to rely on donecount in its transfer
loop (but I do not see any similar reliance in the 5.x code).
-Matt
More information about the freebsd-current
mailing list