aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
authorWim Van Sebroeck <wim@iguana.be>2006-07-30 20:06:07 +0200
committerWim Van Sebroeck <wim@iguana.be>2006-10-02 23:05:16 +0200
commitf676449785d333078acb60ccf2046d0d3c59548f (patch)
tree0fe784a90db839b599440c2139b2c50ccb9e776a /drivers/char
parent[WATCHDOG] pnx4008_wdt.c - nowayout patch (diff)
downloadlinux-dev-f676449785d333078acb60ccf2046d0d3c59548f.tar.xz
linux-dev-f676449785d333078acb60ccf2046d0d3c59548f.zip
[WATCHDOG] pnx4008_wdt.c - remove patch
Change remove code so that we first detach the driver from userspace, then clean up the clock and then clean up the memory we allocated. Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/watchdog/pnx4008_wdt.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/char/watchdog/pnx4008_wdt.c b/drivers/char/watchdog/pnx4008_wdt.c
index d36a169c1b86..465dfd3ba61a 100644
--- a/drivers/char/watchdog/pnx4008_wdt.c
+++ b/drivers/char/watchdog/pnx4008_wdt.c
@@ -297,17 +297,17 @@ out:
static int pnx4008_wdt_remove(struct platform_device *pdev)
{
- if (wdt_mem) {
- release_resource(wdt_mem);
- kfree(wdt_mem);
- wdt_mem = NULL;
- }
+ misc_deregister(&pnx4008_wdt_miscdev);
if (wdt_clk) {
clk_set_rate(wdt_clk, 0);
clk_put(wdt_clk);
wdt_clk = NULL;
}
- misc_deregister(&pnx4008_wdt_miscdev);
+ if (wdt_mem) {
+ release_resource(wdt_mem);
+ kfree(wdt_mem);
+ wdt_mem = NULL;
+ }
return 0;
}