aboutsummaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorRandy Dunlap <rdunlap@xenotime.net>2006-09-29 04:58:56 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-09-29 12:18:05 -0400
commit87a57261105669d13a9cae747b5b67ca1cbcda3c (patch)
treea82f6e81137ef987118e043040adac41599979b3 /block
parent4d7dd8fd9557840162b724a8ac1366dd78a12dff (diff)
[PATCH] block: handle subsystem_register() init errors
Check and handle init errors. Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'block')
-rw-r--r--block/genhd.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/block/genhd.c b/block/genhd.c
index 25d1f42568cc..653919d50cd4 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -295,10 +295,15 @@ static struct kobject *base_probe(dev_t dev, int *part, void *data)
295 295
296static int __init genhd_device_init(void) 296static int __init genhd_device_init(void)
297{ 297{
298 int err;
299
298 bdev_map = kobj_map_init(base_probe, &block_subsys_lock); 300 bdev_map = kobj_map_init(base_probe, &block_subsys_lock);
299 blk_dev_init(); 301 blk_dev_init();
300 subsystem_register(&block_subsys); 302 err = subsystem_register(&block_subsys);
301 return 0; 303 if (err < 0)
304 printk(KERN_WARNING "%s: subsystem_register error: %d\n",
305 __FUNCTION__, err);
306 return err;
302} 307}
303 308
304subsys_initcall(genhd_device_init); 309subsys_initcall(genhd_device_init);