OSDN Git Service

mmc: sdhci-msm: fix issue with SD card tuning functionality
authorSahitya Tummala <stummala@codeaurora.org>
Tue, 1 Apr 2014 08:59:13 +0000 (14:29 +0530)
committerSubhash Jadavani <subhashj@codeaurora.org>
Fri, 27 May 2016 17:29:05 +0000 (10:29 -0700)
The commit 'e2598c - mmc: sdhci-msm: improve tuning process'
introduces NULL pointer dereference bug for SD 3.0 cards
when all the tuning phases pass. It uses mmc_card_mmc(card)
for checking the card type but card is initialized after
tuning is done for SD card and thus resulting in NULL
pointer dereference issue.

CRs-fixed: 640424
Change-Id: I59a8d5f017243d8391269bc98998bb37fc44f685
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
drivers/mmc/host/sdhci-msm.c

index 4d1d9c3..bcb6372 100644 (file)
@@ -974,7 +974,8 @@ retry:
                }
        } while (++phase < 16);
 
-       if ((tuned_phase_cnt == NUM_TUNING_PHASES) && mmc_card_mmc(card)) {
+       if ((tuned_phase_cnt == NUM_TUNING_PHASES) &&
+                       card && mmc_card_mmc(card)) {
                /*
                 * If all phases pass then its a problem. So change the card's
                 * drive type to a different value, if supported and repeat