[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>

diff --git a/drivers/char/watchdog/pnx4008_wdt.c b/drivers/char/watchdog/pnx4008_wdt.c
index d36a169..465dfd3 100644
--- a/drivers/char/watchdog/pnx4008_wdt.c
+++ b/drivers/char/watchdog/pnx4008_wdt.c
@@ -297,17 +297,17 @@
 
 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;
 }