]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - queue-4.9/arm-samsung-limit-samsung_pm_check-config-option-to-.patch
remove unneeded perf patch from 4.9
[thirdparty/kernel/stable-queue.git] / queue-4.9 / arm-samsung-limit-samsung_pm_check-config-option-to-.patch
1 From bde23aacdb8b8aa9cd49ab063b9f3aed47c0e2ef Mon Sep 17 00:00:00 2001
2 From: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
3 Date: Fri, 28 Sep 2018 15:32:46 +0200
4 Subject: ARM: samsung: Limit SAMSUNG_PM_CHECK config option to non-Exynos
5 platforms
6
7 [ Upstream commit 6862fdf2201ab67cd962dbf0643d37db909f4860 ]
8
9 "S3C2410 PM Suspend Memory CRC" feature (controlled by
10 SAMSUNG_PM_CHECK config option) is incompatible with highmem
11 (uses phys_to_virt() instead of proper mapping) which is used by
12 the majority of Exynos boards. The issue manifests itself in OOPS
13 on affected boards, i.e. on Odroid-U3 I got the following one:
14
15 Unable to handle kernel paging request at virtual address f0000000
16 pgd = 1c0f9bb4
17 [f0000000] *pgd=00000000
18 Internal error: Oops: 5 [#1] PREEMPT SMP ARM
19 [<c0458034>] (crc32_le) from [<c0121f8c>] (s3c_pm_makecheck+0x34/0x54)
20 [<c0121f8c>] (s3c_pm_makecheck) from [<c0121efc>] (s3c_pm_run_res+0x74/0x8c)
21 [<c0121efc>] (s3c_pm_run_res) from [<c0121ecc>] (s3c_pm_run_res+0x44/0x8c)
22 [<c0121ecc>] (s3c_pm_run_res) from [<c01210b8>] (exynos_suspend_enter+0x64/0x148)
23 [<c01210b8>] (exynos_suspend_enter) from [<c018893c>] (suspend_devices_and_enter+0x9ec/0xe74)
24 [<c018893c>] (suspend_devices_and_enter) from [<c0189534>] (pm_suspend+0x770/0xc04)
25 [<c0189534>] (pm_suspend) from [<c0186ce8>] (state_store+0x6c/0xcc)
26 [<c0186ce8>] (state_store) from [<c09db434>] (kobj_attr_store+0x14/0x20)
27 [<c09db434>] (kobj_attr_store) from [<c02fa63c>] (sysfs_kf_write+0x4c/0x50)
28 [<c02fa63c>] (sysfs_kf_write) from [<c02f97a4>] (kernfs_fop_write+0xfc/0x1e4)
29 [<c02f97a4>] (kernfs_fop_write) from [<c027b198>] (__vfs_write+0x2c/0x140)
30 [<c027b198>] (__vfs_write) from [<c027b418>] (vfs_write+0xa4/0x160)
31 [<c027b418>] (vfs_write) from [<c027b5d8>] (ksys_write+0x40/0x8c)
32 [<c027b5d8>] (ksys_write) from [<c0101000>] (ret_fast_syscall+0x0/0x28)
33
34 Add PLAT_S3C24XX, ARCH_S3C64XX and ARCH_S5PV210 dependencies to
35 SAMSUNG_PM_CHECK config option to hide it on Exynos platforms.
36
37 Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
38 Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
39 Signed-off-by: Sasha Levin <sashal@kernel.org>
40 ---
41 arch/arm/plat-samsung/Kconfig | 2 +-
42 1 file changed, 1 insertion(+), 1 deletion(-)
43
44 diff --git a/arch/arm/plat-samsung/Kconfig b/arch/arm/plat-samsung/Kconfig
45 index e8229b9fee4a..3265b8f86069 100644
46 --- a/arch/arm/plat-samsung/Kconfig
47 +++ b/arch/arm/plat-samsung/Kconfig
48 @@ -258,7 +258,7 @@ config S3C_PM_DEBUG_LED_SMDK
49
50 config SAMSUNG_PM_CHECK
51 bool "S3C2410 PM Suspend Memory CRC"
52 - depends on PM
53 + depends on PM && (PLAT_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210)
54 select CRC32
55 help
56 Enable the PM code's memory area checksum over sleep. This option
57 --
58 2.19.1
59