Re: memory corruption/panic solved ("FAILURE - ATAPI_IDENTIFY no interrupt")

From: Matthew Dillon <dillon_at_apollo.backplane.com>
Date: Fri, 30 Jul 2004 17:13:18 -0700 (PDT)
: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
Received on Fri Jul 30 2004 - 22:14:09 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:04 UTC