In the msdc_drv_pm function the variable mmc is dereferenced before
checked. Reordering fixes that.

Reported-by: Dan Carpenter <dan.carpen...@oracle.com>
Signed-off-by: Christian Lütke-Stetzkamp <christ...@lkamp.de>
Reviewed-by: NeilBrown <n...@brown.name>
---
 drivers/staging/mt7621-mmc/sd.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/mt7621-mmc/sd.c b/drivers/staging/mt7621-mmc/sd.c
index 7f6e584c7836..a3e2c9769591 100644
--- a/drivers/staging/mt7621-mmc/sd.c
+++ b/drivers/staging/mt7621-mmc/sd.c
@@ -2709,10 +2709,10 @@ static int msdc_drv_remove(struct platform_device *pdev)
 static void msdc_drv_pm(struct platform_device *pdev, pm_message state)
 {
        struct mmc_host *mmc = platform_get_drvdata(pdev);
-       struct msdc_host *host = mmc_priv(mmc);
-
-       if (mmc)
+       if (mmc) {
+               struct msdc_host *host = mmc_priv(mmc);
                msdc_pm(state, (void *)host);
+       }
 }
 
 static int msdc_drv_suspend(struct platform_device *pdev, pm_message_t state)
-- 
2.16.1

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to