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

Commit 9d207acc authored by Jens Axboe's avatar Jens Axboe Committed by Tejun Heo
Browse files

libata: remove assumption that ATA_MAX_QUEUE - 1 is the max



In a few spots we iterate to ATA_MAX_QUEUE -1, including internal
knowledge that the last tag is the internal tag. Remove this
assumption.

Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parent 2e2cc676
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -873,9 +873,12 @@ static int ata_eh_nr_in_flight(struct ata_port *ap)
	int nr = 0;

	/* count only non-internal commands */
	for (tag = 0; tag < ATA_MAX_QUEUE - 1; tag++)
	for (tag = 0; tag < ATA_MAX_QUEUE; tag++) {
		if (ata_tag_internal(tag))
			continue;
		if (ata_qc_from_tag(ap, tag))
			nr++;
	}

	return nr;
}
@@ -900,7 +903,7 @@ void ata_eh_fastdrain_timerfn(struct timer_list *t)
		/* No progress during the last interval, tag all
		 * in-flight qcs as timed out and freeze the port.
		 */
		for (tag = 0; tag < ATA_MAX_QUEUE - 1; tag++) {
		for (tag = 0; tag < ATA_MAX_QUEUE; tag++) {
			struct ata_queued_cmd *qc = ata_qc_from_tag(ap, tag);
			if (qc)
				qc->err_mask |= AC_ERR_TIMEOUT;