> -----Original Message----- > From: linux-mmc-owner@xxxxxxxxxxxxxxx [mailto:linux-mmc- > owner@xxxxxxxxxxxxxxx] On Behalf Of hyeonsu.kim@xxxxxxxxxxx > Sent: Friday, February 17, 2012 3:45 PM > To: linux-mmc@xxxxxxxxxxxxxxx; cjb@xxxxxxxxxx > Cc: kyungmin.park@xxxxxxxxxxx; jh80.chung@xxxxxxxxxxx; Hyeonsu Kim > Subject: [PATCH] mmc: core: fix au_size according to sd spec3.0 > > From: Hyeonsu Kim <hyeonsu.kim@xxxxxxxxxxx> > > This "if phrase" is illogical. > and SD Spec 3.0 supports au_size from 0 to 0xF. > > Signed-off-by: Hyeonsu Kim <hyeonsu.kim@xxxxxxxxxxx> > --- > drivers/mmc/core/sd.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c index > c63ad03..cf8bf0e 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 < 16) { au = 0 is still invalid. And as "Jaehoon Chung" mentioned, we would need to check the SD spec version here as au value from 10 to 15 is invalide for cards till SD2.0 spec. > card->ssr.au = 1 << (au + 4); > es = UNSTUFF_BITS(ssr, 408 - 384, 16); > et = UNSTUFF_BITS(ssr, 402 - 384, 6); > -- > 1.7.5.4 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the > body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at > http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html