diff options
| -rw-r--r-- | drivers/block/xen-blkfront.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c index 5f926de61950..c4a4c9006288 100644 --- a/drivers/block/xen-blkfront.c +++ b/drivers/block/xen-blkfront.c | |||
| @@ -2011,6 +2011,10 @@ static void blkif_release(struct gendisk *disk, fmode_t mode) | |||
| 2011 | 2011 | ||
| 2012 | bdev = bdget_disk(disk, 0); | 2012 | bdev = bdget_disk(disk, 0); |
| 2013 | 2013 | ||
| 2014 | if (!bdev) { | ||
| 2015 | WARN(1, "Block device %s yanked out from us!\n", disk->disk_name); | ||
| 2016 | goto out_mutex; | ||
| 2017 | } | ||
| 2014 | if (bdev->bd_openers) | 2018 | if (bdev->bd_openers) |
| 2015 | goto out; | 2019 | goto out; |
| 2016 | 2020 | ||
| @@ -2041,6 +2045,7 @@ static void blkif_release(struct gendisk *disk, fmode_t mode) | |||
| 2041 | 2045 | ||
| 2042 | out: | 2046 | out: |
| 2043 | bdput(bdev); | 2047 | bdput(bdev); |
| 2048 | out_mutex: | ||
| 2044 | mutex_unlock(&blkfront_mutex); | 2049 | mutex_unlock(&blkfront_mutex); |
| 2045 | } | 2050 | } |
| 2046 | 2051 | ||
