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