Browse Source

[WATCHDOG] s3c2410_wdt - initialize watchdog irq resource

In the error path of s3c2410wdt_probe() and in s3c2410wdt_remove(),
we're using wdt_irq without initialising it, leading to a oops.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Arnaud Patard 18 năm trước cách đây
mục cha
commit
62be074147
1 tập tin đã thay đổi với 3 bổ sung3 xóa
  1. 3 3
      drivers/char/watchdog/s3c2410_wdt.c

+ 3 - 3
drivers/char/watchdog/s3c2410_wdt.c

@@ -379,14 +379,14 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
 
 	DBG("probe: mapped wdt_base=%p\n", wdt_base);
 
-	res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
-	if (res == NULL) {
+	wdt_irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
+	if (wdt_irq == NULL) {
 		printk(KERN_INFO PFX "failed to get irq resource\n");
 		ret = -ENOENT;
 		goto err_map;
 	}
 
-	ret = request_irq(res->start, s3c2410wdt_irq, 0, pdev->name, pdev);
+	ret = request_irq(wdt_irq->start, s3c2410wdt_irq, 0, pdev->name, pdev);
 	if (ret != 0) {
 		printk(KERN_INFO PFX "failed to install irq (%d)\n", ret);
 		goto err_map;