diff --git a/block/genhd.c b/block/genhd.c index be5bab20b2abf278fd7d7370c1a082de0928b1ed..2c9d1f5207c287b3fd80331103384b9c0706901c 100644 --- a/block/genhd.c +++ b/block/genhd.c @@ -637,10 +637,12 @@ static void register_disk(struct device *parent, struct gendisk *disk) kobject_uevent(&part_to_dev(part)->kobj, KOBJ_ADD); disk_part_iter_exit(&piter); - err = sysfs_create_link(&ddev->kobj, - &disk->queue->backing_dev_info->dev->kobj, - "bdi"); - WARN_ON(err); + if (disk->queue->backing_dev_info->dev) { + err = sysfs_create_link(&ddev->kobj, + &disk->queue->backing_dev_info->dev->kobj, + "bdi"); + WARN_ON(err); + } } /**