diff options
author | Randy Dunlap <rdunlap@xenotime.net> | 2006-09-29 04:58:56 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-29 12:18:05 -0400 |
commit | 87a57261105669d13a9cae747b5b67ca1cbcda3c (patch) | |
tree | a82f6e81137ef987118e043040adac41599979b3 /block/genhd.c | |
parent | 4d7dd8fd9557840162b724a8ac1366dd78a12dff (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/genhd.c')
-rw-r--r-- | block/genhd.c | 9 |
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 | ||
296 | static int __init genhd_device_init(void) | 296 | static 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 | ||
304 | subsys_initcall(genhd_device_init); | 309 | subsys_initcall(genhd_device_init); |