diff options
| -rw-r--r-- | kernel/power/swap.c | 5 | 
1 files changed, 3 insertions, 2 deletions
| diff --git a/kernel/power/swap.c b/kernel/power/swap.c index d59420b8d5ff..ff326c2cb77b 100644 --- a/kernel/power/swap.c +++ b/kernel/power/swap.c @@ -1515,9 +1515,10 @@ end:  int swsusp_check(void)  {  	int error; +	void *holder;  	hib_resume_bdev = blkdev_get_by_dev(swsusp_resume_device, -					    FMODE_READ, NULL); +					    FMODE_READ | FMODE_EXCL, &holder);  	if (!IS_ERR(hib_resume_bdev)) {  		set_blocksize(hib_resume_bdev, PAGE_SIZE);  		clear_page(swsusp_header); @@ -1539,7 +1540,7 @@ int swsusp_check(void)  put:  		if (error) -			blkdev_put(hib_resume_bdev, FMODE_READ); +			blkdev_put(hib_resume_bdev, FMODE_READ | FMODE_EXCL);  		else  			pr_debug("Image signature found, resuming\n");  	} else { |