@@ -2075,13 +2075,6 @@ static void ahci_qc_fill_rtf(struct ata_queued_cmd *qc)
2075
2075
struct ahci_port_priv * pp = qc -> ap -> private_data ;
2076
2076
u8 * rx_fis = pp -> rx_fis ;
2077
2077
2078
- /*
2079
- * rtf may already be filled (e.g. for successful NCQ commands).
2080
- * If that is the case, we have nothing to do.
2081
- */
2082
- if (qc -> flags & ATA_QCFLAG_RTF_FILLED )
2083
- return ;
2084
-
2085
2078
if (pp -> fbs_enabled )
2086
2079
rx_fis += qc -> dev -> link -> pmp * AHCI_RX_FIS_SZ ;
2087
2080
@@ -2095,7 +2088,6 @@ static void ahci_qc_fill_rtf(struct ata_queued_cmd *qc)
2095
2088
!(qc -> flags & ATA_QCFLAG_EH )) {
2096
2089
ata_tf_from_fis (rx_fis + RX_FIS_PIO_SETUP , & qc -> result_tf );
2097
2090
qc -> result_tf .status = (rx_fis + RX_FIS_PIO_SETUP )[15 ];
2098
- qc -> flags |= ATA_QCFLAG_RTF_FILLED ;
2099
2091
return ;
2100
2092
}
2101
2093
@@ -2118,12 +2110,10 @@ static void ahci_qc_fill_rtf(struct ata_queued_cmd *qc)
2118
2110
*/
2119
2111
qc -> result_tf .status = fis [2 ];
2120
2112
qc -> result_tf .error = fis [3 ];
2121
- qc -> flags |= ATA_QCFLAG_RTF_FILLED ;
2122
2113
return ;
2123
2114
}
2124
2115
2125
2116
ata_tf_from_fis (rx_fis + RX_FIS_D2H_REG , & qc -> result_tf );
2126
- qc -> flags |= ATA_QCFLAG_RTF_FILLED ;
2127
2117
}
2128
2118
2129
2119
static void ahci_qc_ncq_fill_rtf (struct ata_port * ap , u64 done_mask )
@@ -2158,6 +2148,7 @@ static void ahci_qc_ncq_fill_rtf(struct ata_port *ap, u64 done_mask)
2158
2148
if (qc && ata_is_ncq (qc -> tf .protocol )) {
2159
2149
qc -> result_tf .status = status ;
2160
2150
qc -> result_tf .error = error ;
2151
+ qc -> result_tf .flags = qc -> tf .flags ;
2161
2152
qc -> flags |= ATA_QCFLAG_RTF_FILLED ;
2162
2153
}
2163
2154
done_mask &= ~(1ULL << tag );
@@ -2182,6 +2173,7 @@ static void ahci_qc_ncq_fill_rtf(struct ata_port *ap, u64 done_mask)
2182
2173
fis += RX_FIS_SDB ;
2183
2174
qc -> result_tf .status = fis [2 ];
2184
2175
qc -> result_tf .error = fis [3 ];
2176
+ qc -> result_tf .flags = qc -> tf .flags ;
2185
2177
qc -> flags |= ATA_QCFLAG_RTF_FILLED ;
2186
2178
}
2187
2179
done_mask &= ~(1ULL << tag );
0 commit comments