提交 cb924419 编写于 作者: M Mark Lord 提交者: Jeff Garzik

sata_mv ncq Ignore response status LSB on NCQ

The lower 8 bits of response status are not valid for NCQ.
Signed-off-by: NMark Lord <mlord@pobox.com>
Signed-off-by: NJeff Garzik <jeff@garzik.org>
上级 8c0aeb4a
...@@ -1590,13 +1590,12 @@ static void mv_intr_edma(struct ata_port *ap) ...@@ -1590,13 +1590,12 @@ static void mv_intr_edma(struct ata_port *ap)
qc = ata_qc_from_tag(ap, tag); qc = ata_qc_from_tag(ap, tag);
/* lower 8 bits of status are EDMA_ERR_IRQ_CAUSE_OFS /* For non-NCQ mode, the lower 8 bits of status
* bits (WARNING: might not necessarily be associated * are from EDMA_ERR_IRQ_CAUSE_OFS,
* with this command), which -should- be clear * which should be zero if all went well.
* if all is well
*/ */
status = le16_to_cpu(pp->crpb[out_index].flags); 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); mv_err_intr(ap, qc);
return; return;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册