linux/drivers/soc
Shawn Guo 833d51d7c6 soc: qcom: mdt_loader: Drop PT_LOAD check on hash segment
PT_LOAD type denotes that the segment should be loaded into the final
firmware memory region.  Hash segment is not one such, because it's only
needed for PAS init and shouldn't be in the final firmware memory region.
That's why mdt_phdr_valid() explicitly reject non PT_LOAD segment and
hash segment.  This actually makes the hash segment type check in
qcom_mdt_read_metadata() unnecessary and redundant.  For a hash segment,
it won't be loaded into firmware memory region anyway, due to the
QCOM_MDT_TYPE_HASH check in mdt_phdr_valid(), even if it has a PT_LOAD
type for some reason (misusing or abusing?).

Some firmware files on Sony phones are such examples, e.g WCNSS firmware
of Sony Xperia M4 Aqua phone.  The type of hash segment is just PT_LOAD.
Drop the unnecessary hash segment type check in qcom_mdt_read_metadata()
to fix firmware loading failure on these phones, while hash segment is
still kept away from the final firmware memory region.

Fixes: 498b98e939 ("soc: qcom: mdt_loader: Support loading non-split images")
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Marijn Suijten <marijn.suijten@somainline.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20210828070202.7033-1-shawn.guo@linaro.org
2021-09-19 19:55:20 -05:00
..
actions soc: actions: include header to fix missing prototype 2020-09-22 12:45:16 +05:30
amlogic ARM: Drivers for 5.14 2021-07-10 09:46:20 -07:00
aspeed soc: aspeed-lpc-ctrl: Fix clock cleanup in error path 2021-08-26 11:31:22 +02:00
atmel drivers: soc: atmel: fix type for same7 2021-02-04 21:54:31 +01:00
bcm ARM: Drivers for 5.14 2021-07-10 09:46:20 -07:00
canaan clk: Add RISC-V Canaan Kendryte K210 clock driver 2021-02-22 17:51:04 -08:00
dove
fsl soc: fsl: qe: fix static checker warning 2021-08-13 16:56:10 -05:00
gemini
imx Revert "soc: imx8m: change to use platform driver" 2021-07-15 19:02:44 +08:00
ixp4xx soc: ixp4xx/qmgr: fix invalid __iomem access 2021-08-03 10:16:34 +02:00
lantiq
litex drivers/soc/litex: remove 8-bit subregister option 2021-06-11 04:35:40 +09:00
mediatek soc: mediatek: mmsys: Fix missing UFOE component in mt8173 table routing 2021-08-06 16:43:23 +02:00
qcom soc: qcom: mdt_loader: Drop PT_LOAD check on hash segment 2021-09-19 19:55:20 -05:00
renesas soc: renesas: Prefer memcpy() over strcpy() 2021-08-12 12:36:57 +02:00
rockchip soc: rockchip: io-domain: Remove unneeded semicolon 2021-08-19 23:56:38 +02:00
samsung soc: samsung: pm_domains: Convert to regular platform driver 2021-01-15 20:50:34 +01:00
sifive RISC-V: sifive_l2_cache: Update L2 cache driver to support SiFive FU740 2021-01-07 17:28:27 -08:00
sunxi ARM: SoC drivers for v5.12 2021-02-20 18:42:28 -08:00
tegra ARM: SoC drivers for 5.15 2021-09-01 15:25:28 -07:00
ti soc: ti: Remove pm_runtime_irq_safe() usage for smartreflex 2021-08-10 15:51:22 -07:00
ux500 soc: ux500: Use custom soc attribute group instead of device_create_file 2020-07-06 09:48:06 +01:00
versatile soc: integrator: Drop pointless static qualifier in integrator_soc_init() 2020-08-20 08:57:05 +02:00
xilinx clk: xilinx: move xlnx_vcu clock driver from soc 2021-02-08 18:31:25 -08:00
Kconfig RISC-V Patches for the 5.12 Merge Window 2021-02-26 10:28:35 -08:00
Makefile ARM: ixp4xx: fix compile-testing soc drivers 2021-08-02 14:31:15 +02:00