From: Stephen Warren <swarren@wwwdotorg.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 2/2] mmc: restore capacity when switching to partition 0
Date: Wed, 03 Sep 2014 09:48:06 -0600 [thread overview]
Message-ID: <54073836.6090809@wwwdotorg.org> (raw)
In-Reply-To: <1409700683-25393-3-git-send-email-pab@pabigot.com>
On 09/02/2014 05:31 PM, Peter A. Bigot wrote:
> The capacity and lba for an MMC device with part_num 0 reflects the
> whole device. When mmc_switch_part() successfully switches to a
> partition, the capacity is changed to that partition. As partition 0
> does not physically exist, attempts to switch back to the whole device
> will indicate an error, but the capacity setting for the whole device
> must still be restored to match the partition.
> diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
> @@ -594,10 +594,15 @@ int mmc_switch_part(int dev_num, unsigned int part_num)
> ret = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_PART_CONF,
> (mmc->part_config & ~PART_ACCESS_MASK)
> | (part_num & PART_ACCESS_MASK));
> - if (ret)
> - return ret;
>
> - return mmc_set_capacity(mmc, part_num);
> + /*
> + * Set the capacity if the switch succeeded or was intended
> + * to return to representing the raw device.
> + */
> + if ((ret == 0) || ((ret == -ENODEV) && (part_num == 0)))
> + ret = mmc_set_capacity(mmc, part_num);
> +
> + return ret;
> }
I think this wouldn't be needed without patch 1/2, since without that
patch, no partition switching should ever happen if HW partitions don't
exist, and hence this patch shouldn't be required.
next prev parent reply other threads:[~2014-09-03 15:48 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-02 23:31 [U-Boot] [PATCH 0/2] fix issue with mmc partition management Peter A. Bigot
2014-09-02 23:31 ` [U-Boot] [PATCH 1/2] env_mmc: remove condition on call to mmc_switch_part Peter A. Bigot
2014-09-03 15:46 ` Stephen Warren
2014-09-03 16:03 ` Peter A. Bigot
2014-09-03 16:32 ` [U-Boot] [PATCH v2] env_mmc: correct fini partition to match init partition Peter A. Bigot
2014-09-03 16:52 ` Stephen Warren
2014-09-03 17:30 ` Peter A. Bigot
2014-09-03 17:46 ` Stephen Warren
2014-09-03 17:55 ` Peter A. Bigot
2014-09-03 17:22 ` [U-Boot] [PATCH v3] " Peter A. Bigot
2014-09-09 15:25 ` Igor Grinberg
2014-09-14 13:21 ` Dmitry Lifshitz
2014-10-02 11:09 ` Pantelis Antoniou
2014-09-02 23:31 ` [U-Boot] [PATCH 2/2] mmc: restore capacity when switching to partition 0 Peter A. Bigot
2014-09-03 15:48 ` Stephen Warren [this message]
2014-09-03 15:59 ` Peter A. Bigot
2014-09-03 16:05 ` Stephen Warren
2014-09-03 16:36 ` Peter A. Bigot
2014-09-11 17:45 ` Tom Rini
2014-10-02 11:07 ` Pantelis Antoniou
2014-09-11 15:57 ` [U-Boot] [PATCH 0/2] fix issue with mmc partition management Tom Rini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54073836.6090809@wwwdotorg.org \
--to=swarren@wwwdotorg.org \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.