Hi,

On Tue, Mar 01 2011, Linus Walleij wrote:
> From: Stefan Nilsson XK <[email protected]>
>
> During redetection of a SDIO card, a request for a new card RCA
> was submitted to the card, but was then overwritten by the old RCA.
> This caused the card to be deselected instead of selected when using
> the incorrect RCA.

Nico, would you mind taking a look at this, please?  Assigning to a
member of oldcard because we know it's later going to be copied into
card seems a little ugly to me (at least without a comment explaining
that); I'm wondering if you'd suggest something else here.

And, just to check we're all on the same page, this would be a
regression introduced back at 2.6.32 when the "oldcard" handling
was first merged, so it should be sent up with a stable tag.

(I'm not yet sure whether I want to send this to mainline during the
last week of a release and without any previous testing, given that
the bug is more than a year old already.  Let's see what Nico says.)

Thanks.

> Signed-off-by: Stefan Nilsson XK <[email protected]>
> Reviewed-by: Ulf Hansson <[email protected]>
> Reviewed-by: Pawel Wieczorkiewicz <[email protected]>
> Signed-off-by: Linus Walleij <[email protected]>
> ---
>  drivers/mmc/core/sdio.c |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/mmc/core/sdio.c b/drivers/mmc/core/sdio.c
> index 617e9ad..30d065d 100644
> --- a/drivers/mmc/core/sdio.c
> +++ b/drivers/mmc/core/sdio.c
> @@ -395,6 +395,13 @@ static int mmc_sdio_init_card(struct mmc_host *host, u32 
> ocr,
>               if (err)
>                       goto remove;
>  
> +             /*
> +              * Update oldcard with the new RCA received from the
> +              * SDIO device.
> +              */
> +             if (oldcard)
> +                     oldcard->rca = card->rca;
> +
>               mmc_set_bus_mode(host, MMC_BUSMODE_PUSHPULL);
>       }

-- 
Chris Ball   <[email protected]>
One Laptop Per Child
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to