drm/amd/powerplay: incorrectly use of the function return value
[linux-2.6-block.git] / block / blk-mq-tag.c
index abdbb47405cb840c7005618cdece6b3165850ecc..56a0c37a3d06e0e4037c1cda55c0c6d1c6a98f21 100644 (file)
@@ -464,15 +464,26 @@ static void bt_tags_for_each(struct blk_mq_tags *tags,
        }
 }
 
-void blk_mq_all_tag_busy_iter(struct blk_mq_tags *tags, busy_tag_iter_fn *fn,
-               void *priv)
+static void blk_mq_all_tag_busy_iter(struct blk_mq_tags *tags,
+               busy_tag_iter_fn *fn, void *priv)
 {
        if (tags->nr_reserved_tags)
                bt_tags_for_each(tags, &tags->breserved_tags, 0, fn, priv, true);
        bt_tags_for_each(tags, &tags->bitmap_tags, tags->nr_reserved_tags, fn, priv,
                        false);
 }
-EXPORT_SYMBOL(blk_mq_all_tag_busy_iter);
+
+void blk_mq_tagset_busy_iter(struct blk_mq_tag_set *tagset,
+               busy_tag_iter_fn *fn, void *priv)
+{
+       int i;
+
+       for (i = 0; i < tagset->nr_hw_queues; i++) {
+               if (tagset->tags && tagset->tags[i])
+                       blk_mq_all_tag_busy_iter(tagset->tags[i], fn, priv);
+       }
+}
+EXPORT_SYMBOL(blk_mq_tagset_busy_iter);
 
 void blk_mq_queue_tag_busy_iter(struct request_queue *q, busy_iter_fn *fn,
                void *priv)