diff options
| -rw-r--r-- | drivers/target/target_core_iblock.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/target/target_core_iblock.c b/drivers/target/target_core_iblock.c index 34561350d5e8..67f0c09983c8 100644 --- a/drivers/target/target_core_iblock.c +++ b/drivers/target/target_core_iblock.c | |||
| @@ -220,8 +220,10 @@ static void iblock_free_device(void *p) | |||
| 220 | { | 220 | { |
| 221 | struct iblock_dev *ib_dev = p; | 221 | struct iblock_dev *ib_dev = p; |
| 222 | 222 | ||
| 223 | blkdev_put(ib_dev->ibd_bd, FMODE_WRITE|FMODE_READ|FMODE_EXCL); | 223 | if (ib_dev->ibd_bd != NULL) |
| 224 | bioset_free(ib_dev->ibd_bio_set); | 224 | blkdev_put(ib_dev->ibd_bd, FMODE_WRITE|FMODE_READ|FMODE_EXCL); |
| 225 | if (ib_dev->ibd_bio_set != NULL) | ||
| 226 | bioset_free(ib_dev->ibd_bio_set); | ||
| 225 | kfree(ib_dev); | 227 | kfree(ib_dev); |
| 226 | } | 228 | } |
| 227 | 229 | ||
