diff --git a/drivers/char/lcd.c b/drivers/char/lcd.c
index cf01a720eb2eff74a8154510cfd970ebbfb60f8d..b771611461445548bed26bd09df0c06fe2265587 100644
--- a/drivers/char/lcd.c
+++ b/drivers/char/lcd.c
@@ -613,10 +613,15 @@ static struct miscdevice lcd_dev = {
 
 static int lcd_init(void)
 {
+	int ret;
 	unsigned long data;
 
 	pr_info("%s\n", LCD_DRIVER);
-	misc_register(&lcd_dev);
+	ret = misc_register(&lcd_dev);
+	if (ret) {
+		printk(KERN_WARNING LCD "Unable to register misc device.\n");
+		return ret;
+	}
 
 	/* Check region? Naaah! Just snarf it up. */
 /*	request_region(RTC_PORT(0), RTC_IO_EXTENT, "lcd");*/