Commit 399eab7
ata: libata-sata: Save all fields from sense data descriptor
When filling the taskfile result for a successful NCQ command, we use
the SDB FIS from the FIS Receive Area, see e.g. ahci_qc_ncq_fill_rtf().
However, the SDB FIS only has fields STATUS and ERROR.
For a successful NCQ command that has sense data, we will have a
successful sense data descriptor, in the Sense Data for Successful NCQ
Commands log.
Since we have access to additional taskfile result fields, fill in these
additional fields in qc->result_tf.
This matches how for failing/aborted NCQ commands, we will use e.g.
ahci_qc_fill_rtf() to fill in some fields, but then for the command that
actually caused the NCQ error, we will use ata_eh_read_log_10h(), which
provides additional fields, saving additional fields/overriding the
qc->result_tf that was fetched using ahci_qc_fill_rtf().
Fixes: 18bd771 ("scsi: ata: libata: Handle completion of CDL commands using policy 0xD")
Signed-off-by: Niklas Cassel <[email protected]>
Reviewed-by: Igor Pylypiv <[email protected]>
Reviewed-by: Hannes Reinecke <[email protected]>
Signed-off-by: Damien Le Moal <[email protected]>1 parent 8d46a27 commit 399eab7
1 file changed
+15
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1510 | 1510 | | |
1511 | 1511 | | |
1512 | 1512 | | |
| 1513 | + | |
| 1514 | + | |
1513 | 1515 | | |
1514 | 1516 | | |
1515 | 1517 | | |
| |||
1529 | 1531 | | |
1530 | 1532 | | |
1531 | 1533 | | |
| 1534 | + | |
| 1535 | + | |
1532 | 1536 | | |
1533 | 1537 | | |
1534 | 1538 | | |
| |||
1556 | 1560 | | |
1557 | 1561 | | |
1558 | 1562 | | |
| 1563 | + | |
| 1564 | + | |
| 1565 | + | |
| 1566 | + | |
| 1567 | + | |
| 1568 | + | |
| 1569 | + | |
| 1570 | + | |
| 1571 | + | |
| 1572 | + | |
| 1573 | + | |
1559 | 1574 | | |
1560 | 1575 | | |
1561 | 1576 | | |
| |||
0 commit comments