lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20100915185333.GX354@infomag.iguana.be>
Date:	Wed, 15 Sep 2010 20:53:33 +0200
From:	Wim Van Sebroeck <wim@...ana.be>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
Cc:	Andrew Morton <akpm@...ux-foundation.org>,
	LKML <linux-kernel@...r.kernel.org>,
	Linux Watchdog Mailing List <linux-watchdog@...r.kernel.org>,
	Akinobu Mita <akinobu.mita@...il.com>,
	Andrew Sharp <andy.sharp@....com>,
	Mika Westerberg <mika.westerberg@....fi>,
	Kevin Wells <wellsk40@...il.com>
Subject: [WATCHDOG] v2.6.36-rc4 patches

Hi Linus,

Please pull from 'master' branch of
	git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog.git
or if master.kernel.org hasn't synced up yet:
	master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog.git

This will update the following files:

 drivers/watchdog/Kconfig      |    6 +++---
 drivers/watchdog/sb_wdog.c    |   12 +++++++++---
 drivers/watchdog/ts72xx_wdt.c |    3 +++
 3 files changed, 15 insertions(+), 6 deletions(-)

with these Changes:

Author: Kevin Wells <wellsk40@...il.com>
Date:   Tue Aug 17 17:45:28 2010 -0700

    watchdog: Enable NXP LPC32XX support in Kconfig (resend)
    
    The NXP LPC32XX processor use the same watchdog as the Philips
    PNX4008 processor.
    
    Signed-off-by: Kevin Wells <wellsk40@...il.com>
    Tested-by: Wolfram Sang <w.sang@...gutronix.de>
    Signed-off-by: Wim Van Sebroeck <wim@...ana.be>

Author: Mika Westerberg <mika.westerberg@....fi>
Date:   Sun Aug 29 13:53:14 2010 +0300

    watchdog: ts72xx_wdt: disable watchdog at probe
    
    Since it may be already enabled by bootloader or some other utility. This patch
    makes sure that the watchdog is disabled before any userspace daemon opens the
    device. It is also required by the watchdog API.
    
    Signed-off-by: Mika Westerberg <mika.westerberg@....fi>
    Signed-off-by: Wim Van Sebroeck <wim@...ana.be>

Author: Akinobu Mita <akinobu.mita@...il.com>
Date:   Sat Aug 21 18:27:50 2010 +0900

    watchdog: sb_wdog: release irq and reboot notifier in error path and module_exit()
    
    irq and reboot notifier are acquired in module_init() but never released.
    They should be released correctly, otherwise reloading the module or error
    during module_init() will cause a problem.
    
    Signed-off-by: Akinobu Mita <akinobu.mita@...il.com>
    Cc: Andrew Sharp <andy.sharp@....com>
    Signed-off-by: Wim Van Sebroeck <wim@...ana.be>

The Changes can also be looked at on:
	http://www.kernel.org/git/?p=linux/kernel/git/wim/linux-2.6-watchdog.git;a=summary

For completeness, I added the overal diff below.

Greetings,
Wim.

================================================================================
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index b036677..24efd8e 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -213,11 +213,11 @@ config OMAP_WATCHDOG
 	  here to enable the OMAP1610/OMAP1710/OMAP2420/OMAP3430/OMAP4430 watchdog timer.
 
 config PNX4008_WATCHDOG
-	tristate "PNX4008 Watchdog"
-	depends on ARCH_PNX4008
+	tristate "PNX4008 and LPC32XX Watchdog"
+	depends on ARCH_PNX4008 || ARCH_LPC32XX
 	help
 	  Say Y here if to include support for the watchdog timer
-	  in the PNX4008 processor.
+	  in the PNX4008 or LPC32XX processor.
 	  This driver can be built as a module by choosing M. The module
 	  will be called pnx4008_wdt.
 
diff --git a/drivers/watchdog/sb_wdog.c b/drivers/watchdog/sb_wdog.c
index 88c83aa..f31493e 100644
--- a/drivers/watchdog/sb_wdog.c
+++ b/drivers/watchdog/sb_wdog.c
@@ -305,7 +305,7 @@ static int __init sbwdog_init(void)
 	if (ret) {
 		printk(KERN_ERR "%s: failed to request irq 1 - %d\n",
 						ident.identity, ret);
-		return ret;
+		goto out;
 	}
 
 	ret = misc_register(&sbwdog_miscdev);
@@ -313,14 +313,20 @@ static int __init sbwdog_init(void)
 		printk(KERN_INFO "%s: timeout is %ld.%ld secs\n",
 				ident.identity,
 				timeout / 1000000, (timeout / 100000) % 10);
-	} else
-		free_irq(1, (void *)user_dog);
+		return 0;
+	}
+	free_irq(1, (void *)user_dog);
+out:
+	unregister_reboot_notifier(&sbwdog_notifier);
+
 	return ret;
 }
 
 static void __exit sbwdog_exit(void)
 {
 	misc_deregister(&sbwdog_miscdev);
+	free_irq(1, (void *)user_dog);
+	unregister_reboot_notifier(&sbwdog_notifier);
 }
 
 module_init(sbwdog_init);
diff --git a/drivers/watchdog/ts72xx_wdt.c b/drivers/watchdog/ts72xx_wdt.c
index 458c499..18cdeb4 100644
--- a/drivers/watchdog/ts72xx_wdt.c
+++ b/drivers/watchdog/ts72xx_wdt.c
@@ -449,6 +449,9 @@ static __devinit int ts72xx_wdt_probe(struct platform_device *pdev)
 	wdt->pdev = pdev;
 	mutex_init(&wdt->lock);
 
+	/* make sure that the watchdog is disabled */
+	ts72xx_wdt_stop(wdt);
+
 	error = misc_register(&ts72xx_wdt_miscdev);
 	if (error) {
 		dev_err(&pdev->dev, "failed to register miscdev\n");
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ