Igor Pylypiv
8ebf408e7d
ata: libata-scsi: fix requeue of deferred ATA PASS-THROUGH commands
...
Commit 0ea84089db ("ata: libata-scsi: avoid Non-NCQ command starvation")
introduced ata_scsi_requeue_deferred_qc() to handle commands deferred
during resets or NCQ failures. This deferral logic completed commands
with DID_SOFT_ERROR to trigger a retry in the SCSI mid-layer.
However, DID_SOFT_ERROR is subject to scsi_cmd_retry_allowed() checks.
ATA PASS-THROUGH commands sent via SG_IO ioctl have scmd->allowed set
to zero. This causes the mid-layer to fail the command immediately
instead of retrying, even though the command was never actually issued
to the hardware.
Switch to DID_REQUEUE to ensure these commands are inserted back into
the request queue regardless of retry limits.
Fixes: 0ea84089db ("ata: libata-scsi: avoid Non-NCQ command starvation")
Reviewed-by: Damien Le Moal <dlemoal@kernel.org >
Signed-off-by: Igor Pylypiv <ipylypiv@google.com >
Signed-off-by: Niklas Cassel <cassel@kernel.org >
2026-04-12 19:57:59 +02:00
..
2026-02-21 17:09:51 -08:00
2024-10-30 16:07:36 -05:00
2025-01-09 17:52:17 +09:00
2025-01-09 17:52:17 +09:00
2025-07-16 09:31:43 +02:00
2025-07-16 09:31:43 +02:00
2026-02-24 15:29:57 +01:00
2026-01-08 17:43:00 +09:00
2024-10-17 09:55:08 +02:00
2024-10-17 09:55:08 +02:00
2023-08-02 17:37:06 +09:00
2024-10-17 09:55:08 +02:00
2025-07-16 09:31:43 +02:00
2024-10-17 09:55:08 +02:00
2025-01-15 15:21:27 +01:00
2024-10-17 09:55:08 +02:00
2024-10-17 09:55:08 +02:00
2026-01-08 17:43:04 +09:00
2026-01-13 22:00:02 +09:00
2026-03-31 10:29:35 +02:00
2024-12-03 05:10:20 +01:00
2025-07-31 12:56:21 +09:00
2026-02-24 15:29:57 +01:00
2026-03-31 10:29:35 +02:00
2025-07-31 12:56:21 +09:00
2026-02-21 17:09:51 -08:00
2026-04-02 20:51:00 +02:00
2026-04-02 20:18:29 +02:00
2020-03-26 10:28:19 -06:00
2026-02-21 01:02:28 -08:00
2026-02-24 09:40:58 +09:00
2026-04-12 19:57:59 +02:00
2025-11-07 09:42:36 +01:00
2023-01-04 13:36:26 +09:00
2026-04-02 21:01:10 +02:00
2026-04-02 21:01:10 +02:00
2026-02-21 17:09:51 -08:00
2026-02-12 17:12:43 -08:00
2023-02-22 13:35:51 -08:00
2025-07-16 09:31:43 +02:00
2025-07-16 09:31:43 +02:00
2025-07-16 09:31:43 +02:00
2026-04-03 09:16:00 +02:00
2025-07-16 09:31:43 +02:00
2025-07-16 09:31:43 +02:00
2024-12-03 05:10:20 +01:00
2023-08-24 08:09:59 +09:00
2023-03-24 19:19:19 -04:00
2023-03-24 19:19:19 -04:00
2024-07-30 07:10:30 +09:00
2023-03-24 19:19:19 -04:00
2023-03-24 19:19:19 -04:00
2025-06-10 14:26:27 +02:00
2026-02-02 13:47:40 +09:00
2025-07-16 09:31:43 +02:00
2025-07-16 09:31:43 +02:00
2024-10-17 09:55:08 +02:00
2026-02-04 12:23:23 +01:00
2024-10-17 09:55:08 +02:00
2025-07-16 09:31:43 +02:00
2023-03-24 19:19:19 -04:00
2025-07-16 09:31:43 +02:00
2025-07-16 09:31:43 +02:00
2025-07-16 09:31:43 +02:00
2024-10-17 09:55:08 +02:00
2023-11-20 09:22:26 +09:00
2025-10-23 14:23:40 +02:00
2025-07-16 09:31:43 +02:00
2024-10-17 09:55:08 +02:00
2025-07-16 09:31:43 +02:00
2026-02-02 13:47:37 +09:00
2025-08-01 08:43:08 +09:00
2025-07-16 09:31:43 +02:00
2024-10-17 09:55:08 +02:00
2025-07-16 09:31:43 +02:00
2023-03-24 19:19:19 -04:00
2023-03-24 19:19:19 -04:00
2025-07-16 09:31:43 +02:00
2023-07-28 08:52:42 +09:00
2025-07-16 09:31:43 +02:00
2024-10-17 09:55:08 +02:00
2025-07-16 09:31:43 +02:00
2025-07-16 09:31:43 +02:00
2025-07-16 09:31:43 +02:00
2025-11-18 21:58:41 +01:00
2023-03-24 19:19:19 -04:00
2025-08-01 08:43:11 +09:00
2024-12-03 05:10:20 +01:00
2024-10-17 09:55:08 +02:00
2025-04-08 12:36:03 +09:00
2024-10-01 09:22:02 +02:00
2024-10-17 09:55:08 +02:00
2025-07-16 09:31:43 +02:00
2023-03-24 19:19:19 -04:00
2023-03-24 19:19:19 -04:00
2023-03-24 19:19:19 -04:00
2024-07-30 07:10:08 +09:00
2023-03-24 19:19:19 -04:00
2025-07-16 09:31:43 +02:00
2025-07-16 09:31:43 +02:00
2025-07-16 09:31:43 +02:00
2025-07-16 09:31:43 +02:00
2025-07-16 09:31:43 +02:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2024-12-16 22:36:27 +09:00
2024-12-11 13:18:25 +09:00
2025-07-16 09:31:43 +02:00
2025-07-16 09:31:43 +02:00
2025-07-16 09:31:43 +02:00
2025-07-16 09:31:43 +02:00
2025-07-16 09:31:43 +02:00
2019-05-21 11:28:46 +02:00
2025-07-16 09:31:43 +02:00
2025-07-16 09:31:43 +02:00
2025-07-16 09:31:43 +02:00
2025-07-04 10:36:00 +02:00
2025-01-18 14:38:49 -06:00
2025-07-16 09:31:43 +02:00
2025-07-16 09:31:43 +02:00
2025-07-16 09:31:43 +02:00
2025-07-16 09:31:43 +02:00
2025-01-18 14:38:49 -06:00
2017-11-02 11:10:55 +01:00