When register_chrdev fails, the lack of error-handling code may
cause unexpected results.

This patch adds error-handling code after calling register_chrdev.

Signed-off-by: Zhouyang Jia <[email protected]>
---
 drivers/scsi/gdth.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c
index 8560479..d5a2af8 100644
--- a/drivers/scsi/gdth.c
+++ b/drivers/scsi/gdth.c
@@ -5198,6 +5198,11 @@ static int __init gdth_init(void)
        TRACE2(("gdth_detect() %d controller detected\n", gdth_ctr_count));
 
        major = register_chrdev(0,"gdth", &gdth_fops);
+       if (major < 0) {
+               printk("GDT-HA: Unable to register char device gdth.\n");
+               return major;
+       }
+
        register_reboot_notifier(&gdth_notifier);
        gdth_polling = FALSE;
        return 0;
-- 
2.7.4

Reply via email to