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
This commit is contained in:
Alexander Motin 2024-06-27 09:29:23 -04:00
parent a743e280ea
commit 87085c12ba
3 changed files with 3 additions and 3 deletions

View File

@ -2175,7 +2175,7 @@ ahci_issue_recovery(struct ahci_channel *ch)
}
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;

View File

@ -1798,7 +1798,7 @@ mvs_issue_recovery(device_t dev)
}
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;

View File

@ -1394,7 +1394,7 @@ siis_issue_recovery(device_t dev)
}
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;