aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--block/ll_rw_blk.c17
1 files changed, 2 insertions, 15 deletions
diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c
index 75c98d58f4dd..3d489915fd22 100644
--- a/block/ll_rw_blk.c
+++ b/block/ll_rw_blk.c
@@ -1143,22 +1143,9 @@ EXPORT_SYMBOL(blk_queue_start_tag);
1143void blk_queue_invalidate_tags(struct request_queue *q) 1143void blk_queue_invalidate_tags(struct request_queue *q)
1144{ 1144{
1145 struct list_head *tmp, *n; 1145 struct list_head *tmp, *n;
1146 struct request *rq;
1147
1148 list_for_each_safe(tmp, n, &q->tag_busy_list) {
1149 rq = list_entry_rq(tmp);
1150 1146
1151 if (rq->tag == -1) { 1147 list_for_each_safe(tmp, n, &q->tag_busy_list)
1152 printk(KERN_ERR 1148 blk_requeue_request(q, list_entry_rq(tmp));
1153 "%s: bad tag found on list\n", __FUNCTION__);
1154 list_del_init(&rq->queuelist);
1155 rq->cmd_flags &= ~REQ_QUEUED;
1156 } else
1157 blk_queue_end_tag(q, rq);
1158
1159 rq->cmd_flags &= ~REQ_STARTED;
1160 __elv_add_request(q, rq, ELEVATOR_INSERT_BACK, 0);
1161 }
1162} 1149}
1163 1150
1164EXPORT_SYMBOL(blk_queue_invalidate_tags); 1151EXPORT_SYMBOL(blk_queue_invalidate_tags);