diff options
author | 2024-10-25 10:42:29 -0700 | |
---|---|---|
committer | 2024-10-25 10:42:29 -0700 | |
commit | 7a7aecd9c031c25988d0e123750674e6d6a876ec (patch) | |
tree | 21e2eb33ccdc0f013529316aed8ae7992c04ff7e | |
parent | Merge tag 'sound-6.12-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound (diff) | |
parent | ata: libata: Set DID_TIME_OUT for commands that actually timed out (diff) | |
download | wireguard-linux-7a7aecd9c031c25988d0e123750674e6d6a876ec.tar.xz wireguard-linux-7a7aecd9c031c25988d0e123750674e6d6a876ec.zip |
Merge tag 'ata-6.12-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux
Pull ata fix from Niklas Cassel:
- Fix the handling of ATA commands that timeout (command that did not
receive a completion interrupt within the configured timeout time).
Commands that timeout, while also having either the FAILFAST flag
set, or the command being a passthrough command, should never be
retried. Restore this behavior (as it was before v6.12-rc1).
* tag 'ata-6.12-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux:
ata: libata: Set DID_TIME_OUT for commands that actually timed out
-rw-r--r-- | drivers/ata/libata-eh.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c index fa41ea57a978..3b303d4ae37a 100644 --- a/drivers/ata/libata-eh.c +++ b/drivers/ata/libata-eh.c @@ -651,6 +651,7 @@ void ata_scsi_cmd_error_handler(struct Scsi_Host *host, struct ata_port *ap, /* the scmd has an associated qc */ if (!(qc->flags & ATA_QCFLAG_EH)) { /* which hasn't failed yet, timeout */ + set_host_byte(scmd, DID_TIME_OUT); qc->err_mask |= AC_ERR_TIMEOUT; qc->flags |= ATA_QCFLAG_EH; nr_timedout++; |