The patch titled Return better error codes if drivers/char/raw.c module init fails has been removed from the -mm tree. Its filename is return-better-error-codes-if-drivers-char-rawc-module-init-fails.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ Subject: Return better error codes if drivers/char/raw.c module init fails From: Rolf Eike Beer <eike-kernel@xxxxxxxxx> Currently this module just returns 1 if anything on module init fails. Store the error code of the different function calls and return their error on problems. I'm not sure if this doesn't need even more cleanup, for example kobj_put() is called only in one error case. Signed-off-by: Rolf Eike Beer <eike-kernel@xxxxxxxxx> Cc: Greg KH <greg@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- drivers/char/raw.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff -puN drivers/char/raw.c~return-better-error-codes-if-drivers-char-rawc-module-init-fails drivers/char/raw.c --- a/drivers/char/raw.c~return-better-error-codes-if-drivers-char-rawc-module-init-fails +++ a/drivers/char/raw.c @@ -288,31 +288,35 @@ static struct cdev raw_cdev = { static int __init raw_init(void) { dev_t dev = MKDEV(RAW_MAJOR, 0); + int ret; - if (register_chrdev_region(dev, MAX_RAW_MINORS, "raw")) + ret = register_chrdev_region(dev, MAX_RAW_MINORS, "raw"); + if (ret) goto error; cdev_init(&raw_cdev, &raw_fops); - if (cdev_add(&raw_cdev, dev, MAX_RAW_MINORS)) { + ret = cdev_add(&raw_cdev, dev, MAX_RAW_MINORS); + if (ret) { kobject_put(&raw_cdev.kobj); unregister_chrdev_region(dev, MAX_RAW_MINORS); - goto error; + goto error_region; } raw_class = class_create(THIS_MODULE, "raw"); if (IS_ERR(raw_class)) { printk(KERN_ERR "Error creating raw class.\n"); cdev_del(&raw_cdev); - unregister_chrdev_region(dev, MAX_RAW_MINORS); - goto error; + ret = PTR_ERR(raw_class); + goto error_region; } class_device_create(raw_class, NULL, MKDEV(RAW_MAJOR, 0), NULL, "rawctl"); return 0; +error_region: + unregister_chrdev_region(dev, MAX_RAW_MINORS); error: - printk(KERN_ERR "error register raw device\n"); - return 1; + return ret; } static void __exit raw_exit(void) _ Patches currently in -mm which might be from eike-kernel@xxxxxxxxx are origin.patch remove-extra-newline-from-info-message.patch fix-scsi-scsi_transporth-compile-error.patch remove-superfluous-call-to-call-to-cdev_del.patch remove-bug_onunlikely-in-include-linux-aioh.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html