aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc
diff options
context:
space:
mode:
authorbelgin <belginstirbu@hotmail.com>2021-06-29 20:31:12 +0300
committerDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2021-07-08 10:33:52 +0200
commit4f4ba41214fe5ef3297b8973b09c6c5a6bf5f7f8 (patch)
tree252691de1e6e3b2aa45f32e0a2a8af7fbace8601 /arch/sparc
parentdc4bef8cf8fa37eb0c581ba4c32a73cf27818e9d (diff)
downloadkernel_replicant_linux-4f4ba41214fe5ef3297b8973b09c6c5a6bf5f7f8.tar.gz
kernel_replicant_linux-4f4ba41214fe5ef3297b8973b09c6c5a6bf5f7f8.tar.bz2
kernel_replicant_linux-4f4ba41214fe5ef3297b8973b09c6c5a6bf5f7f8.zip
mmc: core: Workaround VTU00M 0xf1 FTL metadata corruption bug
Some versions of the 0xf1 revision of the firmware of the VTU00M eMMC from Samsung have a bug that triggers an FTL metadata corruption. These eMMC are used at least in the Samsung Galaxy SIII (GT-I9300) and Galaxy Note II (GT-N7100). The corrupted FTL metadata can make the eMMC CPU crash. In practice as the eMMC has several hardware partitions, in some cases the bootloader hadware partition (which is used to store the phone bootloader in the Galaxy SIII and Note II) still works, while the main hardware partition (that contains the phone operating system) doesn't. In other cases the eMMC crashes during the very begining of its boot procedure. In that case the phones botloaders can't be loaded anymore, which results in a black screen and no visible signs that the phone has been powered on. This patch has been ported from the Samsung patch made to address this issue. It uses MMC vendor specific commands to patch the eMMC firmware in RAM. The patch hangs the eMMC CPU right before the corruption is about to happen. So while it's not ideal, it still better to have devices hanging, even repetedly, than breaking devices completely. Since VTU00M eMMC firmwares are not free software nor redistributable, we cannot simply dump newer firmwares, and redistribute them. In addition the only tested way to do a firmware update destroys all the data on the eMMC (including the FTL metadata as well) in the process. A proper fix would be to write a compatible free software eMMC firmware and to investigate the firmware update command that doesn't erase the FTL metadata and/or the data, however this could be quite time consuming. References: - https://media.ccc.de/v/34c3-8784-emmc_hacking_or_how_i_fixed_long-dead_galaxy_s3_phones TODO: - Adapt this patch to use the SD/eMMC hook system for eMMC cards. - upstream it Signed-off-by: belgin <belginstirbu@hotmail.com> GNUtoo: Rewrite the commit message Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Diffstat (limited to 'arch/sparc')
0 files changed, 0 insertions, 0 deletions