Krzysztof Kozlowski
661a888602
power: charger-manager: Fix NULL pointer exception with missing cm-fuel-gauge
NULL pointer exception happens during charger-manager probe if
'cm-fuel-gauge' property is not present.
[ 2.448536] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[ 2.456572] pgd = c0004000
[ 2.459217] [00000000] *pgd=00000000
[ 2.462759] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
[ 2.468047] Modules linked in:
[ 2.471089] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.17.0-rc6-00251-ge44cf96cd525-dirty #969
[ 2.479765] task: ea890000 ti: ea87a000 task.ti: ea87a000
[ 2.485161] PC is at strcmp+0x4/0x30
[ 2.488719] LR is at power_supply_match_device_by_name+0x10/0x1c
[ 2.494695] pc : [<c01f4220>] lr : [<c030fe38>] psr: a0000113
[ 2.494695] sp : ea87bde0 ip : 00000000 fp : eaa97010
[ 2.506150] r10: 00000004 r9 : ea97269c r8 : ea3bbfd0
[ 2.511360] r7 : eaa97000 r6 : c030fe28 r5 : 00000000 r4 : ea3b0000
[ 2.517869] r3 : 0000006d r2 : 00000000 r1 : 00000000 r0 : c057c195
[ 2.524381] Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
[ 2.531671] Control: 10c5387d Table: 4000404a DAC: 00000015
[ 2.537399] Process swapper/0 (pid: 1, stack limit = 0xea87a240)
[ 2.543388] Stack: (0xea87bde0 to 0xea87c000)
[ 2.547733] bde0: ea3b0210 c026b1c8 eaa97010 eaa97000 eaa97010 eabb60a8 ea3b0210 00000000
[ 2.555891] be00: 00000008 ea2db210 ea1a3410 c030fee0 ea3bbf90 c03138fc c068969c c013526c
[ 2.564050] be20: eaa040c0 00000000 c068969c 00000000 eaa040c0 ea2da300 00000002 00000000
[ 2.572208] be40: 00000001 ea2da3c0 00000000 00000001 00000000 eaa97010 c068969c 00000000
[ 2.580367] be60: 00000000 c068969c 00000000 00000002 00000000 c026b71c c026b6f0 eaa97010
[ 2.588527] be80: c0e82530 c026a330 00000000 eaa97010 c068969c eaa97044 00000000 c061df50
[ 2.596686] bea0: ea87a000 c026a4dc 00000000 c068969c c026a448 c0268b5c ea8054a8 eaa8fd50
[ 2.604845] bec0: c068969c ea2db180 c06801f8 c0269b18 c0590f68 c068969c c0656c98 c068969c
[ 2.613004] bee0: c0656c98 ea3bbe40 c06988c0 c026aaf0 00000000 c0656c98 c0656c98 c00088a4
[ 2.621163] bf00: 00000000 c0055f48 00000000 00000004 00000000 ea890000 c05dbc54 c062c178
[ 2.629323] bf20: c0603518 c005f674 00000001 ea87a000 eb7ff83b c0476440 00000091 c003d41c
[ 2.637482] bf40: c05db344 00000007 eb7ff858 00000007 c065a76c c0647d24 00000007 c062c170
[ 2.645642] bf60: c06988c0 00000091 c062c178 c0603518 00000000 c0603cc4 00000007 00000007
[ 2.653801] bf80: c0603518 c0c0c0c0 00000000 c0453948 00000000 00000000 00000000 00000000
[ 2.661959] bfa0: 00000000 c0453950 00000000 c000e728 00000000 00000000 00000000 00000000
[ 2.670118] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2.678277] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 c0c0c0c0 c0c0c0c0
[ 2.686454] [<c01f4220>] (strcmp) from [<c030fe38>] (power_supply_match_device_by_name+0x10/0x1c)
[ 2.695303] [<c030fe38>] (power_supply_match_device_by_name) from [<c026b1c8>] (class_find_device+0x54/0xac)
[ 2.705106] [<c026b1c8>] (class_find_device) from [<c030fee0>] (power_supply_get_by_name+0x1c/0x30)
[ 2.714137] [<c030fee0>] (power_supply_get_by_name) from [<c03138fc>] (charger_manager_probe+0x3d8/0xe58)
[ 2.723683] [<c03138fc>] (charger_manager_probe) from [<c026b71c>] (platform_drv_probe+0x2c/0x5c)
[ 2.732532] [<c026b71c>] (platform_drv_probe) from [<c026a330>] (driver_probe_device+0x10c/0x224)
[ 2.741384] [<c026a330>] (driver_probe_device) from [<c026a4dc>] (__driver_attach+0x94/0x98)
[ 2.749813] [<c026a4dc>] (__driver_attach) from [<c0268b5c>] (bus_for_each_dev+0x54/0x88)
[ 2.757969] [<c0268b5c>] (bus_for_each_dev) from [<c0269b18>] (bus_add_driver+0xd4/0x1d0)
[ 2.766123] [<c0269b18>] (bus_add_driver) from [<c026aaf0>] (driver_register+0x78/0xf4)
[ 2.774110] [<c026aaf0>] (driver_register) from [<c00088a4>] (do_one_initcall+0x80/0x1bc)
[ 2.782276] [<c00088a4>] (do_one_initcall) from [<c0603cc4>] (kernel_init_freeable+0x100/0x1cc)
[ 2.790952] [<c0603cc4>] (kernel_init_freeable) from [<c0453950>] (kernel_init+0x8/0xec)
[ 2.799029] [<c0453950>] (kernel_init) from [<c000e728>] (ret_from_fork+0x14/0x2c)
[ 2.806572] Code: e12fff1e e1a03000 eafffff7 e4d03001 (e4d12001)
[ 2.812832] ---[ end trace 7f12556111b9e7ef ]---
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Cc: <stable@vger.kernel.org>
Fixes: 856ee6115e ("charger-manager: Support deivce tree in charger manager driver")
Signed-off-by: Sebastian Reichel <sre@kernel.org>
2014-09-26 17:09:56 +02:00
..
2014-08-29 17:22:27 -07:00
2014-08-18 17:40:09 -04:00
2014-08-13 18:27:40 -06:00
2014-08-31 13:23:45 +01:00
2014-07-31 13:45:32 -04:00
2014-08-29 16:28:29 -07:00
2014-07-31 01:07:28 +02:00
2014-08-24 11:28:30 -07:00
2014-08-15 10:26:01 +05:30
2014-08-08 11:14:29 -07:00
2014-08-08 11:14:29 -07:00
2014-08-28 01:30:55 +02:00
2014-08-27 15:40:45 +01:00
2014-08-14 18:10:33 -06:00
2014-08-11 07:14:01 -07:00
2014-08-28 11:59:09 +05:30
2014-08-15 17:56:45 -06:00
2014-08-06 09:38:14 -07:00
2014-08-22 08:45:40 +01:00
2014-08-29 14:31:43 +02:00
2014-09-05 09:27:33 +10:00
2014-08-27 09:38:06 -07:00
2014-08-06 20:06:14 -07:00
2014-08-04 17:32:24 -07:00
2014-08-28 11:18:47 -07:00
2014-07-29 11:46:28 +03:00
2014-09-04 19:59:42 +02:00
2014-08-05 21:16:46 -07:00
2014-08-15 17:06:40 -04:00
2014-08-04 18:36:12 -07:00
2014-08-14 18:10:33 -06:00
2014-09-03 17:26:12 -07:00
2014-08-19 00:19:26 +02:00
2014-08-08 11:14:29 -07:00
2014-08-22 11:31:30 -07:00
2014-09-02 10:02:13 -07:00
2014-08-06 18:01:19 -07:00
2014-08-07 17:23:16 -07:00
2014-07-29 01:57:25 -07:00
2014-08-28 14:24:09 -04:00
2014-08-08 15:57:28 -07:00
2014-07-29 19:26:30 -05:00
2014-09-25 01:55:14 +02:00
2014-08-25 13:16:23 -07:00
2014-08-14 18:10:33 -06:00
2014-08-25 16:15:33 -07:00
2014-08-22 11:29:58 -07:00
2014-08-16 09:03:58 +01:00
2014-08-08 15:57:25 -07:00
2014-09-03 08:45:48 -07:00
2014-08-07 08:50:34 -07:00
2014-08-08 11:34:32 -07:00
2014-08-21 07:24:29 -05:00
2014-09-03 10:45:12 -07:00
2014-07-30 00:23:09 +02:00
2014-09-26 17:09:56 +02:00
2014-08-12 12:15:14 -06:00
2014-08-18 10:58:43 +02:00
2014-08-12 12:15:14 -06:00
2014-09-24 15:25:47 +01:00
2014-08-29 16:28:16 -07:00
2014-08-15 09:01:20 +02:00
2014-08-05 18:57:18 -07:00
2014-08-29 11:21:49 -07:00
2014-08-22 12:28:16 +09:00
2014-08-31 13:46:19 +01:00
2014-08-29 12:10:03 -07:00
2014-08-06 20:10:32 -07:00
2014-08-26 14:54:48 -07:00
2014-08-14 09:53:39 -06:00
2014-08-27 16:55:29 -07:00
2014-08-01 15:48:08 -07:00
2014-08-08 10:39:16 -06:00
2014-08-29 11:59:46 -07:00
2014-08-08 15:57:30 -07:00
2014-08-07 08:47:00 -07:00
2014-08-12 12:15:14 -06:00
2014-08-04 17:32:24 -07:00
2014-08-04 18:34:04 -07:00