git: 6abefcdd2585 - stable/14 - Fix SATA NCQ error recovery after 25375b1415
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 23 Jan 2026 17:16:27 UTC
The branch stable/14 has been updated by markj:
URL: https://cgit.FreeBSD.org/src/commit/?id=6abefcdd2585019bda24dddeab49040ee39f4079
commit 6abefcdd2585019bda24dddeab49040ee39f4079
Author: Alexander Motin <mav@FreeBSD.org>
AuthorDate: 2024-06-27 13:29:23 +0000
Commit: Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-01-23 17:12:50 +0000
Fix SATA NCQ error recovery after 25375b1415
Since that commit ahci(4), siis(4) and mvs(4) drivers ended up
using wrong command to fetch error information for NCQ commands.
Since ATA errors are not very informative to begin with, the only
noticeable effect is a lack of retries on those errors by CAM.
MFC after: 1 week
PR: 279978
(cherry picked from commit 87085c12ba8fa51f777bc636df67008b45e20d1c)
---
sys/dev/ahci/ahci.c | 2 +-
sys/dev/mvs/mvs.c | 2 +-
sys/dev/siis/siis.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/sys/dev/ahci/ahci.c b/sys/dev/ahci/ahci.c
index 80cbdefd1e29..f9a44f93c26f 100644
--- a/sys/dev/ahci/ahci.c
+++ b/sys/dev/ahci/ahci.c
@@ -2177,7 +2177,7 @@ completeall:
}
xpt_setup_ccb(&ccb->ccb_h, ch->hold[i]->ccb_h.path,
ch->hold[i]->ccb_h.pinfo.priority);
- if (ccb->ccb_h.func_code == XPT_ATA_IO) {
+ if (ch->hold[i]->ccb_h.func_code == XPT_ATA_IO) {
/* READ LOG */
ccb->ccb_h.recovery_type = RECOVERY_READ_LOG;
ccb->ccb_h.func_code = XPT_ATA_IO;
diff --git a/sys/dev/mvs/mvs.c b/sys/dev/mvs/mvs.c
index 21e0984342d0..0c4c36d001ec 100644
--- a/sys/dev/mvs/mvs.c
+++ b/sys/dev/mvs/mvs.c
@@ -1799,7 +1799,7 @@ completeall:
}
xpt_setup_ccb(&ccb->ccb_h, ch->hold[i]->ccb_h.path,
ch->hold[i]->ccb_h.pinfo.priority);
- if (ccb->ccb_h.func_code == XPT_ATA_IO) {
+ if (ch->hold[i]->ccb_h.func_code == XPT_ATA_IO) {
/* READ LOG */
ccb->ccb_h.recovery_type = RECOVERY_READ_LOG;
ccb->ccb_h.func_code = XPT_ATA_IO;
diff --git a/sys/dev/siis/siis.c b/sys/dev/siis/siis.c
index 1e5fd5648c2d..372b3ca8a380 100644
--- a/sys/dev/siis/siis.c
+++ b/sys/dev/siis/siis.c
@@ -1396,7 +1396,7 @@ completeall:
}
xpt_setup_ccb(&ccb->ccb_h, ch->hold[i]->ccb_h.path,
ch->hold[i]->ccb_h.pinfo.priority);
- if (ccb->ccb_h.func_code == XPT_ATA_IO) {
+ if (ch->hold[i]->ccb_h.func_code == XPT_ATA_IO) {
/* READ LOG */
ccb->ccb_h.recovery_type = RECOVERY_READ_LOG;
ccb->ccb_h.func_code = XPT_ATA_IO;