block: flush the integrity workqueue in blk_integrity_unregister
[sfrench/cifs-2.6.git] / block / blk-integrity.c
index 48bfb53aa85714a7fa31c014f80932ffe042725c..16d5d5338392a22ac6fd41bc93025943b22a7138 100644 (file)
@@ -430,6 +430,9 @@ void blk_integrity_unregister(struct gendisk *disk)
 
        if (!bi->profile)
                return;
+
+       /* ensure all bios are off the integrity workqueue */
+       blk_flush_integrity();
        blk_queue_flag_clear(QUEUE_FLAG_STABLE_WRITES, disk->queue);
        memset(bi, 0, sizeof(*bi));
 }