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: 18bd7718 ("scsi: ata: libata: Handle completion of CDL commands using policy 0xD") Signed-off-by:Niklas Cassel <cassel@kernel.org> Reviewed-by:
Igor Pylypiv <ipylypiv@google.com> Reviewed-by:
Hannes Reinecke <hare@suse.de> Signed-off-by:
Damien Le Moal <dlemoal@kernel.org>
Loading
Please register or sign in to comment