@@ -2082,13 +2082,6 @@ static void ahci_qc_fill_rtf(struct ata_queued_cmd *qc)
20822082 struct ahci_port_priv * pp = qc -> ap -> private_data ;
20832083 u8 * rx_fis = pp -> rx_fis ;
20842084
2085- /*
2086- * rtf may already be filled (e.g. for successful NCQ commands).
2087- * If that is the case, we have nothing to do.
2088- */
2089- if (qc -> flags & ATA_QCFLAG_RTF_FILLED )
2090- return ;
2091-
20922085 if (pp -> fbs_enabled )
20932086 rx_fis += qc -> dev -> link -> pmp * AHCI_RX_FIS_SZ ;
20942087
@@ -2102,7 +2095,6 @@ static void ahci_qc_fill_rtf(struct ata_queued_cmd *qc)
21022095 !(qc -> flags & ATA_QCFLAG_EH )) {
21032096 ata_tf_from_fis (rx_fis + RX_FIS_PIO_SETUP , & qc -> result_tf );
21042097 qc -> result_tf .status = (rx_fis + RX_FIS_PIO_SETUP )[15 ];
2105- qc -> flags |= ATA_QCFLAG_RTF_FILLED ;
21062098 return ;
21072099 }
21082100
@@ -2125,12 +2117,10 @@ static void ahci_qc_fill_rtf(struct ata_queued_cmd *qc)
21252117 */
21262118 qc -> result_tf .status = fis [2 ];
21272119 qc -> result_tf .error = fis [3 ];
2128- qc -> flags |= ATA_QCFLAG_RTF_FILLED ;
21292120 return ;
21302121 }
21312122
21322123 ata_tf_from_fis (rx_fis + RX_FIS_D2H_REG , & qc -> result_tf );
2133- qc -> flags |= ATA_QCFLAG_RTF_FILLED ;
21342124}
21352125
21362126static void ahci_qc_ncq_fill_rtf (struct ata_port * ap , u64 done_mask )
@@ -2165,6 +2155,7 @@ static void ahci_qc_ncq_fill_rtf(struct ata_port *ap, u64 done_mask)
21652155 if (qc && ata_is_ncq (qc -> tf .protocol )) {
21662156 qc -> result_tf .status = status ;
21672157 qc -> result_tf .error = error ;
2158+ qc -> result_tf .flags = qc -> tf .flags ;
21682159 qc -> flags |= ATA_QCFLAG_RTF_FILLED ;
21692160 }
21702161 done_mask &= ~(1ULL << tag );
@@ -2189,6 +2180,7 @@ static void ahci_qc_ncq_fill_rtf(struct ata_port *ap, u64 done_mask)
21892180 fis += RX_FIS_SDB ;
21902181 qc -> result_tf .status = fis [2 ];
21912182 qc -> result_tf .error = fis [3 ];
2183+ qc -> result_tf .flags = qc -> tf .flags ;
21922184 qc -> flags |= ATA_QCFLAG_RTF_FILLED ;
21932185 }
21942186 done_mask &= ~(1ULL << tag );
0 commit comments