Skip to content

Commit

Permalink
sata_mv ncq Ignore response status LSB on NCQ
Browse files Browse the repository at this point in the history
The lower 8 bits of response status are not valid for NCQ.

Signed-off-by: Mark Lord <mlord@pobox.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
  • Loading branch information
Mark Lord authored and Jeff Garzik committed Feb 1, 2008
1 parent 8c0aeb4 commit cb92441
Showing 1 changed file with 4 additions and 5 deletions.
9 changes: 4 additions & 5 deletions drivers/ata/sata_mv.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down

0 comments on commit cb92441

Please sign in to comment.