]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - block/blk-mq-tag.c
Merge branch 'akpm-current/current'
[karo-tx-linux.git] / block / blk-mq-tag.c
index adbc577d83c481d4763848e9ed4b415afd4193c1..a07ca3488d96fb7a96159fbe48c0c9e5e95391ec 100644 (file)
@@ -75,6 +75,10 @@ void blk_mq_tag_wakeup_all(struct blk_mq_tags *tags, bool include_reserve)
        struct blk_mq_bitmap_tags *bt;
        int i, wake_index;
 
+       /*
+        * Make sure all changes prior to this are visible from other CPUs.
+        */
+       smp_mb();
        bt = &tags->bitmap_tags;
        wake_index = atomic_read(&bt->wake_index);
        for (i = 0; i < BT_WAIT_QUEUES; i++) {
@@ -641,6 +645,7 @@ void blk_mq_free_tags(struct blk_mq_tags *tags)
 {
        bt_free(&tags->bitmap_tags);
        bt_free(&tags->breserved_tags);
+       free_cpumask_var(tags->cpumask);
        kfree(tags);
 }