From: Albert Lee Date: Fri, 29 Apr 2005 09:34:59 +0000 (+0800) Subject: [PATCH] libata: Prevent the interrupt handler from completing a command twice X-Git-Tag: v2.6.12-rc5~61^2^2~1 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=21b1ed74ee3667dcabcba92e486988ea9119a085;p=pandora-kernel.git [PATCH] libata: Prevent the interrupt handler from completing a command twice Problem: During the libata CD-ROM stress test, sometimes the "BUG: timeout without command" error is seen. Root cause: Unexpected interrupt occurs after the ata_qc_complete() is called, but before the SCSI error handler. The interrupt handler is invoked before the SCSI error handler, and it clears the command by calling ata_qc_complete() again. Later when the SCSI error handler is run, the ata_queued_cmd is already gone, causing the "BUG: timeout without command" error. Changes: - Use the ATA_QCFLAG_ACTIVE flag to prevent the interrupt handler from completing the command twice, before the scsi_error_handler. Signed-off-by: Albert Lee --- Reading git-diff-tree failed