From: Randy Dunlap Check and handle init errors. Signed-off-by: Randy Dunlap Cc: Greg KH Signed-off-by: Andrew Morton --- block/genhd.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff -puN block/genhd.c~block-handle-subsystem_register-init-errors block/genhd.c --- a/block/genhd.c~block-handle-subsystem_register-init-errors +++ a/block/genhd.c @@ -295,10 +295,15 @@ static struct kobject *base_probe(dev_t static int __init genhd_device_init(void) { + int err; + bdev_map = kobj_map_init(base_probe, &block_subsys_lock); blk_dev_init(); - subsystem_register(&block_subsys); - return 0; + err = subsystem_register(&block_subsys); + if (err < 0) + printk(KERN_WARNING "%s: subsystem_register error: %d\n", + __FUNCTION__, err); + return err; } subsys_initcall(genhd_device_init); _