mfd: pm8921: Potential NULL dereference in pm8921_remove()
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 7 Nov 2013 08:04:20 +0000 (11:04 +0300)
committerLee Jones <lee.jones@linaro.org>
Mon, 11 Nov 2013 11:22:19 +0000 (11:22 +0000)
We assume that "pmic" could be NULL and then dereference it two lines
later.  I fix this by moving the dereference inside the NULL check.

Fixes: c013f0a56c56 ('mfd: Add pm8xxx irq support')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/pm8921-core.c

index a6841f77aa5e709d472b120336e25e5572646cf8..484fe66e6c884e7f32c9c9caca6473bcfc5b81e2 100644 (file)
@@ -171,11 +171,12 @@ static int pm8921_remove(struct platform_device *pdev)
        drvdata = platform_get_drvdata(pdev);
        if (drvdata)
                pmic = drvdata->pm_chip_data;
-       if (pmic)
+       if (pmic) {
                mfd_remove_devices(pmic->dev);
-       if (pmic->irq_chip) {
-               pm8xxx_irq_exit(pmic->irq_chip);
-               pmic->irq_chip = NULL;
+               if (pmic->irq_chip) {
+                       pm8xxx_irq_exit(pmic->irq_chip);
+                       pmic->irq_chip = NULL;
+               }
        }
 
        return 0;