]> git.baikalelectronics.ru Git - kernel.git/commit
mmc: block: Use the mmc host device index as the mmcblk device index
authorUlf Hansson <ulf.hansson@linaro.org>
Wed, 6 Apr 2016 14:12:08 +0000 (16:12 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Thu, 14 Apr 2016 09:39:34 +0000 (11:39 +0200)
commit600906e892d0006632a3f72f49900dd0b4591114
treed7a8bf6ec6dd18cb94a52d0331e45987adef8ce5
parent41aa7f45df2316f92d6d78cf3cd4e54d1bd39973
mmc: block: Use the mmc host device index as the mmcblk device index

Commit b59adbdf88bc ("mmc: core: Optimize boot time by detecting cards
simultaneously") causes regressions for some platforms.

These platforms relies on fixed mmcblk device indexes, instead of
deploying the defacto standard with UUID/PARTUUID. In other words their
rootfs needs to be available at hardcoded paths, like /dev/mmcblk0p2.

Such guarantees have never been made by the kernel, but clearly the above
commit changes the behaviour. More precisely, because of that the order
changes of how cards becomes detected, so do their corresponding mmcblk
device indexes.

As the above commit significantly improves boot time for some platforms
(magnitude of seconds), let's avoid reverting this change but instead
restore the behaviour of how mmcblk device indexes becomes picked.

By using the same index for the mmcblk device as for the corresponding mmc
host device, the probe order of mmc host devices decides the index we get
for the mmcblk device.

For those platforms that suffers from a regression, one could expect that
this updated behaviour should be sufficient to meet their expectations of
"fixed" mmcblk device indexes.

Another side effect from this change, is that the same index is used for
the mmc host device, the mmcblk device and the mmc block queue. That
should clarify their relationship.

Reported-by: Peter Hurley <peter@hurleysoftware.com>
Reported-by: Laszlo Fiat <laszlo.fiat@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Fixes: b59adbdf88bc ("mmc: core: Optimize boot time by detecting cards
simultaneously")
Cc: <stable@vger.kernel.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/card/block.c