summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Cox <alan@linux.intel.com>2012-07-02 19:55:13 +0200
committerChris Ball <cjb@laptop.org>2012-07-21 06:02:24 +0200
commitb63b5e819d5b21ae493c17c356018ffa98d3ee1c (patch)
tree79565f8d73049e1d66812cf308cd14671c528860
parentmmc: only support voltage (vdd) that regulator agrees with (diff)
downloadlinux-b63b5e819d5b21ae493c17c356018ffa98d3ee1c.tar.xz
linux-b63b5e819d5b21ae493c17c356018ffa98d3ee1c.zip
mmc: core: correct invalid error checking
The effect of the existing code is that we continue blindly when we should warn about an invalid allocation unit. Reported-by: dcb314@hotmail.com Resolves-bug: https://bugzilla.kernel.org/show_bug.cgi?id=44061 Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Chris Ball <cjb@laptop.org>
-rw-r--r--drivers/mmc/core/sd.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c
index b0b9e372f5da..33c6f26c68d0 100644
--- a/drivers/mmc/core/sd.c
+++ b/drivers/mmc/core/sd.c
@@ -244,7 +244,7 @@ static int mmc_read_ssr(struct mmc_card *card)
* bitfield positions accordingly.
*/
au = UNSTUFF_BITS(ssr, 428 - 384, 4);
- if (au > 0 || au <= 9) {
+ if (au > 0 && au <= 9) {
card->ssr.au = 1 << (au + 4);
es = UNSTUFF_BITS(ssr, 408 - 384, 16);
et = UNSTUFF_BITS(ssr, 402 - 384, 6);