aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/libata.h
diff options
context:
space:
mode:
authorAlbert Lee <albertcc@tw.ibm.com>2005-04-29 17:34:59 +0800
committerJeff Garzik <jgarzik@pobox.com>2005-05-15 18:46:59 -0400
commit21b1ed74ee3667dcabcba92e486988ea9119a085 (patch)
treef4cf281ecf24a3352aebd1231cac6002fd44d82d /include/linux/libata.h
parent[PATCH] libata: stop setting sdev->host->max_sectors for lba48 drives (diff)
downloadlinux-dev-21b1ed74ee3667dcabcba92e486988ea9119a085.tar.xz
linux-dev-21b1ed74ee3667dcabcba92e486988ea9119a085.zip
[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 <albertcc@tw.ibm.com>
Diffstat (limited to 'include/linux/libata.h')
0 files changed, 0 insertions, 0 deletions