ATAng: reboot after panic, crashdumps [PATCH]

From: Max Khon <fjoe_at_samodelkin.net>
Date: Wed, 16 Mar 2005 11:33:39 +0600
Hi!

Attached patch fixes reboot after panic for me on RELENG_5 and RELENG_5_3.
Crashdumps work again for me as well.

The problem was in ata_shutdown() -- ATA_FLUSHCACHE request issued from
ata_shutdown() never completes (ata_queue_request() sleeps in
sema_wait(&request->done)) because ata_interrupt() is never called
(callouts do not work as well, so that if the controller is busy
ATA_FLUSHCACHE was not retried).

I am not sure if "if (panicstr == NULL)" check is required (for normal
shutdown sequence). addump() does not check if we are shutting down
cleanly (ata_flushcache() was copy-n-pasted from addump()) and always
uses atadev->channel->hw.begin_transaction(&request)/end_transaction(&request)
directly.

/fjoe

Received on Wed Mar 16 2005 - 04:33:45 UTC

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