|
@@ -648,6 +648,9 @@ static ssize_t reset_store(struct device *dev,
|
|
|
zram = dev_to_zram(dev);
|
|
|
bdev = bdget_disk(zram->disk, 0);
|
|
|
|
|
|
+ if (!bdev)
|
|
|
+ return -ENOMEM;
|
|
|
+
|
|
|
/* Do not reset an active device! */
|
|
|
if (bdev->bd_holders)
|
|
|
return -EBUSY;
|
|
@@ -660,8 +663,7 @@ static ssize_t reset_store(struct device *dev,
|
|
|
return -EINVAL;
|
|
|
|
|
|
/* Make sure all pending I/O is finished */
|
|
|
- if (bdev)
|
|
|
- fsync_bdev(bdev);
|
|
|
+ fsync_bdev(bdev);
|
|
|
|
|
|
zram_reset_device(zram, true);
|
|
|
return len;
|