: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). -MattReceived 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