RE: [PATCH] mmc: core: fix au_size according to sd spec3.0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----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


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux