UPSTREAM: zram: Delete gendisk before cleaning up the request queue
authorBart Van Assche <bart.vanassche@wdc.com>
Wed, 28 Feb 2018 18:15:30 +0000 (10:15 -0800)
committerivanmeler <i_ivan@windowslive.com>
Wed, 13 Apr 2022 21:13:26 +0000 (21:13 +0000)
Remove the disk, partition and bdi sysfs attributes before cleaning up
the request queue associated with the disk.

Signed-off-by: Bart Van Assche <bart.vanassche@wdc.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: Joseph Qi <joseph.qi@linux.alibaba.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Nitin Gupta <ngupta@vflare.org>
Cc: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
(cherry picked from commit 392db38058eb47250a9d0cc737af37e78a7e443d)
Signed-off-by: Peter Kalauskas <peskal@google.com>
Bug: 112488418
Change-Id: Ifbcb6e03fee764054dc9a371c00b95547e4de745

drivers/block/zram/zram_drv.c

index 72f130c78bb16d14963df89f03ee5000ba496ae2..d65827eb9b276409b074830d5afda25af07fd9c8 100644 (file)
@@ -1628,8 +1628,8 @@ static int zram_remove(struct zram *zram)
 
        pr_info("Removed device: %s\n", zram->disk->disk_name);
 
-       blk_cleanup_queue(zram->disk->queue);
        del_gendisk(zram->disk);
+       blk_cleanup_queue(zram->disk->queue);
        put_disk(zram->disk);
        kfree(zram);
        return 0;