]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/staging/zram/zram_drv.c
Merge 3.11-rc3 into staging-next
[karo-tx-linux.git] / drivers / staging / zram / zram_drv.c
index 5ef6508a587c2bcdd1627987f49c8479bb32602c..7ebf91d347f534f55669eaa19cd3a274f5124530 100644 (file)
@@ -528,8 +528,11 @@ static void zram_reset_device(struct zram *zram)
        size_t index;
        struct zram_meta *meta;
 
-       if (!zram->init_done)
+       down_write(&zram->init_lock);
+       if (!zram->init_done) {
+               up_write(&zram->init_lock);
                return;
+       }
 
        meta = zram->meta;
        zram->init_done = 0;
@@ -550,6 +553,7 @@ static void zram_reset_device(struct zram *zram)
 
        zram->disksize = 0;
        set_capacity(zram->disk, 0);
+       up_write(&zram->init_lock);
 }
 
 static void zram_init_device(struct zram *zram, struct zram_meta *meta)