mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-01 14:14:56 +00:00
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:
parent
a743e280ea
commit
87085c12ba
|
@ -2175,7 +2175,7 @@ ahci_issue_recovery(struct ahci_channel *ch)
|
||||||
}
|
}
|
||||||
xpt_setup_ccb(&ccb->ccb_h, ch->hold[i]->ccb_h.path,
|
xpt_setup_ccb(&ccb->ccb_h, ch->hold[i]->ccb_h.path,
|
||||||
ch->hold[i]->ccb_h.pinfo.priority);
|
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 */
|
/* READ LOG */
|
||||||
ccb->ccb_h.recovery_type = RECOVERY_READ_LOG;
|
ccb->ccb_h.recovery_type = RECOVERY_READ_LOG;
|
||||||
ccb->ccb_h.func_code = XPT_ATA_IO;
|
ccb->ccb_h.func_code = XPT_ATA_IO;
|
||||||
|
|
|
@ -1798,7 +1798,7 @@ mvs_issue_recovery(device_t dev)
|
||||||
}
|
}
|
||||||
xpt_setup_ccb(&ccb->ccb_h, ch->hold[i]->ccb_h.path,
|
xpt_setup_ccb(&ccb->ccb_h, ch->hold[i]->ccb_h.path,
|
||||||
ch->hold[i]->ccb_h.pinfo.priority);
|
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 */
|
/* READ LOG */
|
||||||
ccb->ccb_h.recovery_type = RECOVERY_READ_LOG;
|
ccb->ccb_h.recovery_type = RECOVERY_READ_LOG;
|
||||||
ccb->ccb_h.func_code = XPT_ATA_IO;
|
ccb->ccb_h.func_code = XPT_ATA_IO;
|
||||||
|
|
|
@ -1394,7 +1394,7 @@ siis_issue_recovery(device_t dev)
|
||||||
}
|
}
|
||||||
xpt_setup_ccb(&ccb->ccb_h, ch->hold[i]->ccb_h.path,
|
xpt_setup_ccb(&ccb->ccb_h, ch->hold[i]->ccb_h.path,
|
||||||
ch->hold[i]->ccb_h.pinfo.priority);
|
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 */
|
/* READ LOG */
|
||||||
ccb->ccb_h.recovery_type = RECOVERY_READ_LOG;
|
ccb->ccb_h.recovery_type = RECOVERY_READ_LOG;
|
||||||
ccb->ccb_h.func_code = XPT_ATA_IO;
|
ccb->ccb_h.func_code = XPT_ATA_IO;
|
||||||
|
|
Loading…
Reference in a new issue