[Armadeus-commitlog] armadeus branch, master, updated. armadeus-5.3-29-gef75548
Brought to you by:
sszy
|
From: Sébastien S. <ss...@us...> - 2014-01-13 12:46:16
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via ef755487f6e48889b393f16737a4ef77db2706cb (commit)
from baba7687191cc3ef5f2908354e3e1b41bf4e10f2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit ef755487f6e48889b393f16737a4ef77db2706cb
Author: Sébastien Szymanski <ss...@us...>
Date: Mon Jan 13 13:45:30 2014 +0100
[LINUX] 3.12: add author name and details on patch 0480.
-----------------------------------------------------------------------
Summary of changes:
...c-core-Update-ext_csd-if-touched-by-ioctl.patch | 57 ++++++++++++++++++++
1 files changed, 57 insertions(+), 0 deletions(-)
diff --git a/patches/linux/3.12/0480-RFC-mmc-core-Update-ext_csd-if-touched-by-ioctl.patch b/patches/linux/3.12/0480-RFC-mmc-core-Update-ext_csd-if-touched-by-ioctl.patch
index 6ddfb29..6ceeb97 100644
--- a/patches/linux/3.12/0480-RFC-mmc-core-Update-ext_csd-if-touched-by-ioctl.patch
+++ b/patches/linux/3.12/0480-RFC-mmc-core-Update-ext_csd-if-touched-by-ioctl.patch
@@ -1,3 +1,60 @@
+From patchwork Wed Sep 11 05:26:46 2013
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [RFC] mmc: core: Update ext_csd if touched by ioctl
+From: Dirk Behme <dir...@gm...>
+X-Patchwork-Id: 2870291
+Message-Id: <137...@gm...>
+To: lin...@vg...
+Cc: Chris Ball <cj...@la...>, Dirk Behme <dir...@gm...>
+Date: Wed, 11 Sep 2013 07:26:46 +0200
+
+In case an ioctl changes an EXT_CSD register, update the internal ext_csd
+data structure, too. Else the driver's internal ext_csd data structure and
+the EXT_CSD register content doesn't match any more. In this case additional
+ioctls changing the ext_csd would revert the initial one due to the old data
+in the driver's internal ext_csd data.
+
+E.g. using the mmc utils utility to enable the bootpart
+
+mmc bootpart enable 1 0 /dev/mmcblk1
+
+correctly writes to the EXT_CSD structure of the device, but
+doesn't update
+
+card->ext_csd.part_config
+
+Issuing additional MMC_SWITCH commands afterwards use the then (wrong)
+card->ext_csd.part_config. Resulting in an undo of the initial mmc bootpart
+enable.
+
+Fix this by updating the ext_csd in case of an EXT_CSD update ioctl.
+
+Signed-off-by: Dirk Behme <dir...@gm...>
+
+---
+Notes:
+
+This fixes the issue discussed in
+
+http://marc.info/?l=linux-mmc&m=137820629730918
+
+This patch is marked as RFC due to two reasons:
+
+* exporting mmc_update_ext_csd() in core/mmc.c and calling it directly from
+ card/block.c
+* It seems it's not allowed to call mmc_part_add() in mmc_read_ext_csd()
+ several times. So this is disabled by passing an 'update' variable to
+ mmc_read_ext_csd() disabling the mmc_part_add() in case we just want to
+ update the ext_csd variables.
+
+How can this be done better/cleaner?
+
+ drivers/mmc/card/block.c | 14 ++++++++++++++
+ drivers/mmc/core/mmc.c | 26 ++++++++++++++++++++++----
+ 2 files changed, 36 insertions(+), 4 deletions(-)
+
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
index 1a3163f..0a4bd62 100644
--- a/drivers/mmc/card/block.c
hooks/post-receive
--
armadeus
|