From: Florian Fainelli <florian@openwrt.org>
Date: Fri, 26 Nov 2010 09:39:55 +0000 (+0100)
Subject: watchdog: Fix null pointer dereference while accessing rdc321x platform_data
X-Git-Tag: v2.6.37-rc8~27^2~3
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=3b3c1f24e96c411a95daabb6af9e09c5381f713b;p=users%2Fdwmw2%2Flinux.git

watchdog: Fix null pointer dereference while accessing rdc321x platform_data

rdc321x-wdt currently fetches its driver specific data by using the
platform_device->platform_data pointer, this is wrong because the mfd
device which registers our platform_device has been added using
mfd_add_device() which sets the platform_device->driver_data pointer
instead.

Signed-off-by: Florian Fainelli <florian@openwrt.org>
CC: stable@kernel.org
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
---

diff --git a/drivers/watchdog/rdc321x_wdt.c b/drivers/watchdog/rdc321x_wdt.c
index 428f8a1583e85..3939e53f5f981 100644
--- a/drivers/watchdog/rdc321x_wdt.c
+++ b/drivers/watchdog/rdc321x_wdt.c
@@ -231,7 +231,7 @@ static int __devinit rdc321x_wdt_probe(struct platform_device *pdev)
 	struct resource *r;
 	struct rdc321x_wdt_pdata *pdata;
 
-	pdata = pdev->dev.platform_data;
+	pdata = platform_get_drvdata(pdev);
 	if (!pdata) {
 		dev_err(&pdev->dev, "no platform data supplied\n");
 		return -ENODEV;