Re: [PATCH 05/13] sdhci: Add support for card-detection polling

From: Pierre Ossman
Date: Sat Feb 21 2009 - 10:58:48 EST


On Fri, 13 Feb 2009 17:47:18 +0300
Anton Vorontsov <avorontsov@xxxxxxxxxxxxx> wrote:

> @@ -1110,13 +1113,18 @@ static void sdhci_request(struct mmc_host *mmc, struct mmc_request *mrq)
>
> host->mrq = mrq;
>
> + if (host->quirks & SDHCI_QUIRK_BROKEN_CARD_DETECTION)
> + goto send;
> +
> if (!(sdhci_readl(host, SDHCI_PRESENT_STATE) & SDHCI_CARD_PRESENT)
> || (host->flags & SDHCI_DEVICE_DEAD)) {
> host->mrq->cmd->error = -ENOMEDIUM;
> tasklet_schedule(&host->finish_tasklet);
> - } else
> - sdhci_send_command(host, mrq->cmd);
> -
> + goto out;
> + }
> +send:
> + sdhci_send_command(host, mrq->cmd);
> +out:
> mmiowb();
> spin_unlock_irqrestore(&host->lock, flags);
> }

goto:s seem unnecessary here, and your patch is even incorrect as it
ignores the SDHCI_DEVICE_DEAD flag. Just modify the if-clause and
things will work.

Might want to add a comment also to make it more obvious what the
if-clause does.

Rgds
--
-- Pierre Ossman

WARNING: This correspondence is being monitored by the
Swedish government. Make sure your server uses encryption
for SMTP traffic and consider using PGP for end-to-end
encryption.

Attachment: signature.asc
Description: PGP signature