<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/mmc/card, branch linux-4.4.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.4.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.4.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2020-05-10T08:26:07Z</updated>
<entry>
<title>mmc: block: return error on failed mmc_blk_get()</title>
<updated>2020-05-10T08:26:07Z</updated>
<author>
<name>Olof Johansson</name>
</author>
<published>2016-02-09T17:34:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f670866a282a0b75538391e50c2536dda9a8db00'/>
<id>urn:sha1:f670866a282a0b75538391e50c2536dda9a8db00</id>
<content type='text'>
commit f00ab14c252ac459e86194747a1f580ab503c954 upstream.

This used to return -EFAULT, but the function above returns -EINVAL on
the same condition so let's stick to that.

The removal of error return on this path was introduced with b093410c9aef
('mmc: block: copy resp[] data on err for MMC_IOC_MULTI_CMD').

Fixes: b093410c9aef ('mmc: block: copy resp[] data on err for MMC_IOC_MULTI_CMD').
Signed-off-by: Olof Johansson &lt;olof@lixom.net&gt;
Cc: Grant Grundler &lt;grundler@google.com&gt;
Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mmc: block: Fix tag condition with packed writes</title>
<updated>2019-11-28T17:26:15Z</updated>
<author>
<name>Adrian Hunter</name>
</author>
<published>2016-06-10T13:22:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0ef78c8d7ac65c6f5c60dd8c8ce1c7075841e8dd'/>
<id>urn:sha1:0ef78c8d7ac65c6f5c60dd8c8ce1c7075841e8dd</id>
<content type='text'>
commit d806b46e5f496a6335ebd7f8432d2533507ce9a2 upstream.

Apparently a cut-and-paste error, 'do_data_tag' is using 'brq' for data
size even though 'brq' has not been set up. Instead use blk_rq_sectors().

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Reviewed-by: Shawn Lin &lt;shawn.lin@rock-chips.com&gt;
Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Revert "mmc: block: don't use parameter prefix if built as module"</title>
<updated>2019-04-03T04:23:21Z</updated>
<author>
<name>Ulf Hansson</name>
</author>
<published>2016-02-11T15:42:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cb8251f8d66785fbd8cc8f3ffc38bafdd5017272'/>
<id>urn:sha1:cb8251f8d66785fbd8cc8f3ffc38bafdd5017272</id>
<content type='text'>
[ Upstream commit a5ebb87db84392edfd3142c3a6a78431d820a789 ]

This reverts commit 829b6962f7e3cfc06f7c5c26269fd47ad48cf503.

Revert this change as it causes a sysfs path to change and therefore
introduces and ABI regression. More precisely Android's vold is not being
able to access /sys/module/mmcblk/parameters/perdev_minors any more, since
the path becomes changed to: "/sys/module/mmc_block/..."

Fixes: 829b6962f7e3 ("mmc: block: don't use parameter prefix if built as
module")
Reported-by: John Stultz &lt;john.stultz@linaro.org&gt;
Cc: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>mmc: block: Allow more than 8 partitions per card</title>
<updated>2019-04-03T04:23:20Z</updated>
<author>
<name>Colin Cross</name>
</author>
<published>2015-10-22T17:00:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4afe1affaa6d3ffac7bf97ff05fca442c61a36a3'/>
<id>urn:sha1:4afe1affaa6d3ffac7bf97ff05fca442c61a36a3</id>
<content type='text'>
[ Upstream commit 382c55f88ffeb218c446bf0c46d0fc25d2795fe2 ]

It is quite common for Android devices to utilize more
then 8 partitions on internal eMMC storage.

The vanilla kernel can support this via
CONFIG_MMC_BLOCK_MINORS, however that solution caps the
system to 256 minors total, which limits the number of
mmc cards the system can support.

This patch, which has been carried for quite awhile in
the AOSP common tree, provides an alternative solution
that doesn't seem to limit the total card count. So I
wanted to submit it for consideration upstream.

This patch sets the GENHD_FL_EXT_DEVT flag, which will
allocate minor number in major 259 for partitions past
disk-&gt;minors.

It also removes the use of disk_devt to determine devidx
from md-&gt;disk. md-&gt;disk-&gt;first_minor is always initialized
from devidx and can always be used to recover it.

Cc: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Cc: Chuanxiao Dong &lt;chuanxiao.dong@intel.com&gt;
Cc: Shawn Lin &lt;shawn.lin@rock-chips.com&gt;
Cc: Austin S Hemmelgarn &lt;ahferroin7@gmail.com&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Android Kernel Team &lt;kernel-team@android.com&gt;
Cc: linux-mmc@vger.kernel.org
Signed-off-by: Colin Cross &lt;ccross@android.com&gt;
[jstultz: Added context to commit message]
Signed-off-by: John Stultz &lt;john.stultz@linaro.org&gt;
Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>mmc: mmc_test: Uninitialized return value</title>
<updated>2017-01-12T10:22:49Z</updated>
<author>
<name>Dan Carpenter</name>
</author>
<published>2016-11-14T11:31:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=85baf9416b7efdea2f395d337c88c3e1807a3ddd'/>
<id>urn:sha1:85baf9416b7efdea2f395d337c88c3e1807a3ddd</id>
<content type='text'>
commit 16652a936e96f5dae53c3fbd38a570497baadaa8 upstream.

We never set "ret" to RESULT_OK.

Fixes: 9f9c4180f88d ("mmc: mmc_test: add test for non-blocking transfers")
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mmc: core: Annotate cmd_hdr as __le32</title>
<updated>2016-10-28T07:01:35Z</updated>
<author>
<name>Jiri Slaby</name>
</author>
<published>2016-10-03T08:58:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2983d3fa16a3dfbc889a1f56de6be34f9ef4d3d2'/>
<id>urn:sha1:2983d3fa16a3dfbc889a1f56de6be34f9ef4d3d2</id>
<content type='text'>
commit 3f2d26643595973e835e8356ea90c7c15cb1b0f1 upstream.

Commit f68381a70bb2 (mmc: block: fix packed command header endianness)
correctly fixed endianness handling of packed_cmd_hdr in
mmc_blk_packed_hdr_wrq_prep.

But now, sparse complains about incorrect types:
drivers/mmc/card/block.c:1613:27: sparse: incorrect type in assignment (different base types)
drivers/mmc/card/block.c:1613:27:    expected unsigned int [unsigned] [usertype] &lt;noident&gt;
drivers/mmc/card/block.c:1613:27:    got restricted __le32 [usertype] &lt;noident&gt;
...

So annotate cmd_hdr properly using __le32 to make everyone happy.

Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
Fixes: f68381a70bb2 (mmc: block: fix packed command header endianness)
Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mmc: block: don't use CMD23 with very old MMC cards</title>
<updated>2016-10-28T07:01:26Z</updated>
<author>
<name>Daniel Glöckner</name>
</author>
<published>2016-08-30T12:17:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bc7e4a29a556f753ed916cdd90f6f860d7d9a5cb'/>
<id>urn:sha1:bc7e4a29a556f753ed916cdd90f6f860d7d9a5cb</id>
<content type='text'>
commit 0ed50abb2d8fc81570b53af25621dad560cd49b3 upstream.

CMD23 aka SET_BLOCK_COUNT was introduced with MMC v3.1.
Older versions of the specification allowed to terminate
multi-block transfers only with CMD12.

The patch fixes the following problem:

  mmc0: new MMC card at address 0001
  mmcblk0: mmc0:0001 SDMB-16 15.3 MiB
  mmcblk0: timed out sending SET_BLOCK_COUNT command, card status 0x400900
  ...
  blk_update_request: I/O error, dev mmcblk0, sector 0
  Buffer I/O error on dev mmcblk0, logical block 0, async page read
   mmcblk0: unable to read partition table

Signed-off-by: Daniel Glöckner &lt;dg@emlix.com&gt;
Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mmc: block: fix packed command header endianness</title>
<updated>2016-08-10T09:49:28Z</updated>
<author>
<name>Taras Kondratiuk</name>
</author>
<published>2016-07-13T22:05:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d29e5fa5859c37ae2076f1a0fa28d894e2857249'/>
<id>urn:sha1:d29e5fa5859c37ae2076f1a0fa28d894e2857249</id>
<content type='text'>
commit f68381a70bb2b26c31b13fdaf67c778f92fd32b4 upstream.

The code that fills packed command header assumes that CPU runs in
little-endian mode. Hence the header is malformed in big-endian mode
and causes MMC data transfer errors:

[  563.200828] mmcblk0: error -110 transferring data, sector 2048, nr 8, cmd response 0x900, card status 0xc40
[  563.219647] mmcblk0: packed cmd failed, nr 2, sectors 16, failure index: -1

Convert header data to LE.

Signed-off-by: Taras Kondratiuk &lt;takondra@cisco.com&gt;
Fixes: ce39f9d17c14 ("mmc: support packed write command for eMMC4.5 devices")
Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mmc: longer timeout for long read time quirk</title>
<updated>2016-06-01T19:15:50Z</updated>
<author>
<name>Matt Gumbel</name>
</author>
<published>2016-05-20T07:33:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=32971328e591632a077c3683b9c36c187deadd0e'/>
<id>urn:sha1:32971328e591632a077c3683b9c36c187deadd0e</id>
<content type='text'>
commit 32ecd320db39bcb007679ed42f283740641b81ea upstream.

008GE0 Toshiba mmc in some Intel Baytrail tablets responds to
MMC_SEND_EXT_CSD in 450-600ms.

This patch will...

() Increase the long read time quirk timeout from 300ms to 600ms. Original
   author of that quirk says 300ms was only a guess and that the number
   may need to be raised in the future.

() Add this specific MMC to the quirk

Signed-off-by: Matt Gumbel &lt;matthew.k.gumbel@intel.com&gt;
Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mmc: block: fix ABI regression of mmc_blk_ioctl</title>
<updated>2016-04-12T16:09:01Z</updated>
<author>
<name>Shawn Lin</name>
</author>
<published>2016-03-16T10:15:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d69bc6d28c9662bde7230d88e405c8694d05d94c'/>
<id>urn:sha1:d69bc6d28c9662bde7230d88e405c8694d05d94c</id>
<content type='text'>
commit 83c742c344c08c2bbe338d45c6ec63110e9d5e3d upstream.

If mmc_blk_ioctl returns -EINVAL, blkdev_ioctl continues to
work without returning err to user-space. But now we check
CAP_SYS_RAWIO firstly, so we return -EPERM to blkdev_ioctl,
which make blkdev_ioctl return -EPERM to user-space directly.
So this will break all the ioctl with BLKROSET. Now we find
Android-adb suffer it for the following log:

remount of /system failed;
couldn't make block device writable: Operation not permitted
openat(AT_FDCWD, "/dev/block/platform/ff420000.dwmmc/by-name/system", O_RDONLY) = 3
ioctl(3, BLKROSET, 0)  = -1 EPERM (Operation not permitted)

Fixes: a5f5774c55a2 ("mmc: block: Add new ioctl to send multi commands")
Signed-off-by: Shawn Lin &lt;shawn.lin@rock-chips.com&gt;
Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
</feed>
