summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2018-06-19 10:06:52 -0600
committerJens Axboe <axboe@kernel.dk>2018-06-19 10:06:52 -0600
commitad46e53b11c683b9d0820aa31c7af9872c10a856 (patch)
tree4527083d2e74d78230916c63d6e935d2dcae8e64
parentf7f40a03de44b8e69f1b5b7085fd445bfc11cbb1 (diff)
sata_fsl: convert to command iterator
We need to iterate all commands, including the internal one, for ATAPI error handling. Fixes: 28361c403683 ("libata: add extra internal command") Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r--drivers/ata/sata_fsl.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c
index b8d9cfc60374..bb5ec5f71e73 100644
--- a/drivers/ata/sata_fsl.c
+++ b/drivers/ata/sata_fsl.c
@@ -1229,8 +1229,7 @@ static void sata_fsl_host_intr(struct ata_port *ap)
/* Workaround for data length mismatch errata */
if (unlikely(hstatus & INT_ON_DATA_LENGTH_MISMATCH)) {
- for (tag = 0; tag < ATA_MAX_QUEUE; tag++) {
- qc = ata_qc_from_tag(ap, tag);
+ ata_qc_for_each_with_internal(ap, qc, tag) {
if (qc && ata_is_atapi(qc->tf.protocol)) {
u32 hcontrol;
/* Set HControl[27] to clear error registers */