sata_mv: update ata_qc_from_tag
Update the logic in ata_qc_from_tag() to match that used in similar places elsewhere in libata. Signed-off-by: Mark Lord <mlord@pobox.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
parent
f48765ccb4
commit
95db505125
@ -1628,6 +1628,12 @@ static struct ata_queued_cmd *mv_get_active_qc(struct ata_port *ap)
|
|||||||
if (pp->pp_flags & MV_PP_FLAG_NCQ_EN)
|
if (pp->pp_flags & MV_PP_FLAG_NCQ_EN)
|
||||||
return NULL;
|
return NULL;
|
||||||
qc = ata_qc_from_tag(ap, ap->link.active_tag);
|
qc = ata_qc_from_tag(ap, ap->link.active_tag);
|
||||||
|
if (qc) {
|
||||||
|
if (qc->tf.flags & ATA_TFLAG_POLLING)
|
||||||
|
qc = NULL;
|
||||||
|
else if (!(qc->flags & ATA_QCFLAG_ACTIVE))
|
||||||
|
qc = NULL;
|
||||||
|
}
|
||||||
if (qc && (qc->tf.flags & ATA_TFLAG_POLLING))
|
if (qc && (qc->tf.flags & ATA_TFLAG_POLLING))
|
||||||
qc = NULL;
|
qc = NULL;
|
||||||
return qc;
|
return qc;
|
||||||
|
Loading…
Reference in New Issue
Block a user