Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cb924419 authored by Mark Lord's avatar Mark Lord Committed by Jeff Garzik
Browse files

sata_mv ncq Ignore response status LSB on NCQ



The lower 8 bits of response status are not valid for NCQ.

Signed-off-by: default avatarMark Lord <mlord@pobox.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 8c0aeb4a
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -1590,13 +1590,12 @@ static void mv_intr_edma(struct ata_port *ap)

		qc = ata_qc_from_tag(ap, tag);

		/* lower 8 bits of status are EDMA_ERR_IRQ_CAUSE_OFS
		 * bits (WARNING: might not necessarily be associated
		 * with this command), which -should- be clear
		 * if all is well
		/* For non-NCQ mode, the lower 8 bits of status
		 * are from EDMA_ERR_IRQ_CAUSE_OFS,
		 * which should be zero if all went well.
		 */
		status = le16_to_cpu(pp->crpb[out_index].flags);
		if (unlikely(status & 0xff)) {
		if ((status & 0xff) && !(pp->pp_flags & MV_PP_FLAG_NCQ_EN)) {
			mv_err_intr(ap, qc);
			return;
		}