gpio: Fix null pointer dereference while accessing rdc321x platform_data
authorFlorian Fainelli <florian@openwrt.org>
Fri, 26 Nov 2010 09:39:54 +0000 (10:39 +0100)
committerSamuel Ortiz <sameo@linux.intel.com>
Wed, 22 Dec 2010 11:05:20 +0000 (12:05 +0100)
rdc321x-gpio 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>
drivers/gpio/rdc321x-gpio.c

index 2762698..897e057 100644 (file)
@@ -135,7 +135,7 @@ static int __devinit rdc321x_gpio_probe(struct platform_device *pdev)
        struct rdc321x_gpio *rdc321x_gpio_dev;
        struct rdc321x_gpio_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;