diff --git a/target/linux/ar71xx/files/drivers/watchdog/ar71xx_wdt.c b/target/linux/ar71xx/files/drivers/watchdog/ar71xx_wdt.c
index 75ad0e789c8514124d45a7e2249f83229f1e3e23..d5e1f8a3ca92282f595c72a8763a0b75baec9075 100644
--- a/target/linux/ar71xx/files/drivers/watchdog/ar71xx_wdt.c
+++ b/target/linux/ar71xx/files/drivers/watchdog/ar71xx_wdt.c
@@ -269,9 +269,15 @@ static int __devexit ar71xx_wdt_remove(struct platform_device *pdev)
 	return 0;
 }
 
+static void ar71xx_wdt_shutdown(struct platform_device *pdev)
+{
+	ar71xx_wdt_disable();
+}
+
 static struct platform_driver ar71xx_wdt_driver = {
 	.probe		= ar71xx_wdt_probe,
 	.remove		= __devexit_p(ar71xx_wdt_remove),
+	.shutdown	= ar71xx_wdt_shutdown,
 	.driver		= {
 		.name	= DRV_NAME,
 		.owner	= THIS_MODULE,