mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 16:24:13 +08:00
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: Jens Axboe <axboe@kernel.dk> Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
parent
2e2cc676ce
commit
9d207accca
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user