> -----Original Message-----
> From: linux-mmc-ow...@vger.kernel.org [mailto:linux-mmc-
> ow...@vger.kernel.org] On Behalf Of hyeonsu....@samsung.com
> Sent: Friday, February 17, 2012 3:45 PM
> To: linux-mmc@vger.kernel.org; c...@laptop.org
> Cc: kyungmin.p...@samsung.com; jh80.ch...@samsung.com; Hyeonsu Kim
> Subject: [PATCH] mmc: core: fix au_size according to sd spec3.0
> 
> From: Hyeonsu Kim <hyeonsu....@samsung.com>
> 
> This "if phrase" is illogical.
> and SD Spec 3.0 supports au_size from 0 to 0xF.
> 
> Signed-off-by: Hyeonsu Kim <hyeonsu....@samsung.com>
> ---
>  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 majord...@vger.kernel.org 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to