<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/power, branch linux-3.4.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>wm831x_power: Use IRQF_ONESHOT to request threaded IRQs</title>
<updated>2016-10-26T15:15:22+00:00</updated>
<author>
<name>Valentin Rothberg</name>
<email>valentinrothberg@gmail.com</email>
</author>
<published>2015-09-22T17:00:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=7c3bbea90b032261579721f619ce62f4bf8a95ac'/>
<id>7c3bbea90b032261579721f619ce62f4bf8a95ac</id>
<content type='text'>
commit 90adf98d9530054b8e665ba5a928de4307231d84 upstream.

Since commit 1c6c69525b40 ("genirq: Reject bogus threaded irq requests")
threaded IRQs without a primary handler need to be requested with
IRQF_ONESHOT, otherwise the request will fail.

scripts/coccinelle/misc/irqf_oneshot.cocci detected this issue.

Fixes: b5874f33bbaf ("wm831x_power: Use genirq")
Signed-off-by: Valentin Rothberg &lt;valentinrothberg@gmail.com&gt;
Signed-off-by: Sebastian Reichel &lt;sre@kernel.org&gt;
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 90adf98d9530054b8e665ba5a928de4307231d84 upstream.

Since commit 1c6c69525b40 ("genirq: Reject bogus threaded irq requests")
threaded IRQs without a primary handler need to be requested with
IRQF_ONESHOT, otherwise the request will fail.

scripts/coccinelle/misc/irqf_oneshot.cocci detected this issue.

Fixes: b5874f33bbaf ("wm831x_power: Use genirq")
Signed-off-by: Valentin Rothberg &lt;valentinrothberg@gmail.com&gt;
Signed-off-by: Sebastian Reichel &lt;sre@kernel.org&gt;
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>power: charger-manager: Fix NULL pointer exception with missing cm-fuel-gauge</title>
<updated>2015-02-02T09:04:43+00:00</updated>
<author>
<name>Krzysztof Kozlowski</name>
<email>k.kozlowski@samsung.com</email>
</author>
<published>2014-09-26T11:27:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=9fa2377fcc46960755f826a2d343b444c6dd5c40'/>
<id>9fa2377fcc46960755f826a2d343b444c6dd5c40</id>
<content type='text'>
commit 661a88860274e059fdb744dfaa98c045db7b5d1d upstream.

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 : [&lt;c01f4220&gt;]    lr : [&lt;c030fe38&gt;]    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] [&lt;c01f4220&gt;] (strcmp) from [&lt;c030fe38&gt;] (power_supply_match_device_by_name+0x10/0x1c)
[    2.695303] [&lt;c030fe38&gt;] (power_supply_match_device_by_name) from [&lt;c026b1c8&gt;] (class_find_device+0x54/0xac)
[    2.705106] [&lt;c026b1c8&gt;] (class_find_device) from [&lt;c030fee0&gt;] (power_supply_get_by_name+0x1c/0x30)
[    2.714137] [&lt;c030fee0&gt;] (power_supply_get_by_name) from [&lt;c03138fc&gt;] (charger_manager_probe+0x3d8/0xe58)
[    2.723683] [&lt;c03138fc&gt;] (charger_manager_probe) from [&lt;c026b71c&gt;] (platform_drv_probe+0x2c/0x5c)
[    2.732532] [&lt;c026b71c&gt;] (platform_drv_probe) from [&lt;c026a330&gt;] (driver_probe_device+0x10c/0x224)
[    2.741384] [&lt;c026a330&gt;] (driver_probe_device) from [&lt;c026a4dc&gt;] (__driver_attach+0x94/0x98)
[    2.749813] [&lt;c026a4dc&gt;] (__driver_attach) from [&lt;c0268b5c&gt;] (bus_for_each_dev+0x54/0x88)
[    2.757969] [&lt;c0268b5c&gt;] (bus_for_each_dev) from [&lt;c0269b18&gt;] (bus_add_driver+0xd4/0x1d0)
[    2.766123] [&lt;c0269b18&gt;] (bus_add_driver) from [&lt;c026aaf0&gt;] (driver_register+0x78/0xf4)
[    2.774110] [&lt;c026aaf0&gt;] (driver_register) from [&lt;c00088a4&gt;] (do_one_initcall+0x80/0x1bc)
[    2.782276] [&lt;c00088a4&gt;] (do_one_initcall) from [&lt;c0603cc4&gt;] (kernel_init_freeable+0x100/0x1cc)
[    2.790952] [&lt;c0603cc4&gt;] (kernel_init_freeable) from [&lt;c0453950&gt;] (kernel_init+0x8/0xec)
[    2.799029] [&lt;c0453950&gt;] (kernel_init) from [&lt;c000e728&gt;] (ret_from_fork+0x14/0x2c)
[    2.806572] Code: e12fff1e e1a03000 eafffff7 e4d03001 (e4d12001)
[    2.812832] ---[ end trace 7f12556111b9e7ef ]---

Signed-off-by: Krzysztof Kozlowski &lt;k.kozlowski@samsung.com&gt;
Fixes: 856ee6115e2d ("charger-manager: Support deivce tree in charger manager driver")
Signed-off-by: Sebastian Reichel &lt;sre@kernel.org&gt;
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 661a88860274e059fdb744dfaa98c045db7b5d1d upstream.

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 : [&lt;c01f4220&gt;]    lr : [&lt;c030fe38&gt;]    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] [&lt;c01f4220&gt;] (strcmp) from [&lt;c030fe38&gt;] (power_supply_match_device_by_name+0x10/0x1c)
[    2.695303] [&lt;c030fe38&gt;] (power_supply_match_device_by_name) from [&lt;c026b1c8&gt;] (class_find_device+0x54/0xac)
[    2.705106] [&lt;c026b1c8&gt;] (class_find_device) from [&lt;c030fee0&gt;] (power_supply_get_by_name+0x1c/0x30)
[    2.714137] [&lt;c030fee0&gt;] (power_supply_get_by_name) from [&lt;c03138fc&gt;] (charger_manager_probe+0x3d8/0xe58)
[    2.723683] [&lt;c03138fc&gt;] (charger_manager_probe) from [&lt;c026b71c&gt;] (platform_drv_probe+0x2c/0x5c)
[    2.732532] [&lt;c026b71c&gt;] (platform_drv_probe) from [&lt;c026a330&gt;] (driver_probe_device+0x10c/0x224)
[    2.741384] [&lt;c026a330&gt;] (driver_probe_device) from [&lt;c026a4dc&gt;] (__driver_attach+0x94/0x98)
[    2.749813] [&lt;c026a4dc&gt;] (__driver_attach) from [&lt;c0268b5c&gt;] (bus_for_each_dev+0x54/0x88)
[    2.757969] [&lt;c0268b5c&gt;] (bus_for_each_dev) from [&lt;c0269b18&gt;] (bus_add_driver+0xd4/0x1d0)
[    2.766123] [&lt;c0269b18&gt;] (bus_add_driver) from [&lt;c026aaf0&gt;] (driver_register+0x78/0xf4)
[    2.774110] [&lt;c026aaf0&gt;] (driver_register) from [&lt;c00088a4&gt;] (do_one_initcall+0x80/0x1bc)
[    2.782276] [&lt;c00088a4&gt;] (do_one_initcall) from [&lt;c0603cc4&gt;] (kernel_init_freeable+0x100/0x1cc)
[    2.790952] [&lt;c0603cc4&gt;] (kernel_init_freeable) from [&lt;c0453950&gt;] (kernel_init+0x8/0xec)
[    2.799029] [&lt;c0453950&gt;] (kernel_init) from [&lt;c000e728&gt;] (ret_from_fork+0x14/0x2c)
[    2.806572] Code: e12fff1e e1a03000 eafffff7 e4d03001 (e4d12001)
[    2.812832] ---[ end trace 7f12556111b9e7ef ]---

Signed-off-by: Krzysztof Kozlowski &lt;k.kozlowski@samsung.com&gt;
Fixes: 856ee6115e2d ("charger-manager: Support deivce tree in charger manager driver")
Signed-off-by: Sebastian Reichel &lt;sre@kernel.org&gt;
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>power: max17040: Fix NULL pointer dereference when there is no platform_data</title>
<updated>2014-02-22T18:32:46+00:00</updated>
<author>
<name>Krzysztof Kozlowski</name>
<email>k.kozlowski@samsung.com</email>
</author>
<published>2014-01-30T13:32:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=7db019a232f3577a92a2a81d34e4add1c4b80483'/>
<id>7db019a232f3577a92a2a81d34e4add1c4b80483</id>
<content type='text'>
commit ac323d8d807060f7c95a685a9fe861e7b6300993 upstream.

Fix NULL pointer dereference of "chip-&gt;pdata" if platform_data was not
supplied to the driver.

The driver during probe stored the pointer to the platform_data:
	chip-&gt;pdata = client-&gt;dev.platform_data;
Later it was dereferenced in max17040_get_online() and
max17040_get_status().

If platform_data was not supplied, the NULL pointer exception would
happen:

[    6.626094] Unable to handle kernel  of a at virtual address 00000000
[    6.628557] pgd = c0004000
[    6.632868] [00000000] *pgd=66262564
[    6.634636] Unable to handle kernel paging request at virtual address e6262000
[    6.642014] pgd = de468000
[    6.644700] [e6262000] *pgd=00000000
[    6.648265] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
[    6.653552] Modules linked in:
[    6.656598] CPU: 0 PID: 31 Comm: kworker/0:1 Not tainted 3.10.14-02717-gc58b4b4 #505
[    6.664334] Workqueue: events max17040_work
[    6.668488] task: dfa11b80 ti: df9f6000 task.ti: df9f6000
[    6.673873] PC is at show_pte+0x80/0xb8
[    6.677687] LR is at show_pte+0x3c/0xb8
[    6.681503] pc : [&lt;c001b7b8&gt;]    lr : [&lt;c001b774&gt;]    psr: 600f0113
[    6.681503] sp : df9f7d58  ip : 600f0113  fp : 00000009
[    6.692965] r10: 00000000  r9 : 00000000  r8 : dfa11b80
[    6.698171] r7 : df9f7ea0  r6 : e6262000  r5 : 00000000  r4 : 00000000
[    6.704680] r3 : 00000000  r2 : e6262000  r1 : 600f0193  r0 : c05b3750
[    6.711194] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
[    6.718485] Control: 10c53c7d  Table: 5e46806a  DAC: 00000015
[    6.724218] Process kworker/0:1 (pid: 31, stack limit = 0xdf9f6238)
[    6.730465] Stack: (0xdf9f7d58 to 0xdf9f8000)
[    6.914325] [&lt;c001b7b8&gt;] (show_pte+0x80/0xb8) from [&lt;c047107c&gt;] (__do_kernel_fault.part.9+0x44/0x74)
[    6.923425] [&lt;c047107c&gt;] (__do_kernel_fault.part.9+0x44/0x74) from [&lt;c001bb7c&gt;] (do_page_fault+0x2c4/0x360)
[    6.933144] [&lt;c001bb7c&gt;] (do_page_fault+0x2c4/0x360) from [&lt;c0008400&gt;] (do_DataAbort+0x34/0x9c)
[    6.941825] [&lt;c0008400&gt;] (do_DataAbort+0x34/0x9c) from [&lt;c000e5d8&gt;] (__dabt_svc+0x38/0x60)
[    6.950058] Exception stack(0xdf9f7ea0 to 0xdf9f7ee8)
[    6.955099] 7ea0: df0c1790 00000000 00000002 00000000 df0c1794 df0c1790 df0c1790 00000042
[    6.963271] 7ec0: df0c1794 00000001 00000000 00000009 00000000 df9f7ee8 c0306268 c0306270
[    6.971419] 7ee0: a00f0113 ffffffff
[    6.974902] [&lt;c000e5d8&gt;] (__dabt_svc+0x38/0x60) from [&lt;c0306270&gt;] (max17040_work+0x8c/0x144)
[    6.983317] [&lt;c0306270&gt;] (max17040_work+0x8c/0x144) from [&lt;c003f364&gt;] (process_one_work+0x138/0x440)
[    6.992429] [&lt;c003f364&gt;] (process_one_work+0x138/0x440) from [&lt;c003fa64&gt;] (worker_thread+0x134/0x3b8)
[    7.001628] [&lt;c003fa64&gt;] (worker_thread+0x134/0x3b8) from [&lt;c00454bc&gt;] (kthread+0xa4/0xb0)
[    7.009875] [&lt;c00454bc&gt;] (kthread+0xa4/0xb0) from [&lt;c000eb28&gt;] (ret_from_fork+0x14/0x2c)
[    7.017943] Code: e1a03005 e2422480 e0826104 e59f002c (e7922104)
[    7.024017] ---[ end trace 73bc7006b9cc5c79 ]---

Signed-off-by: Krzysztof Kozlowski &lt;k.kozlowski@samsung.com&gt;
Fixes: c6f4a42de60b981dd210de01cd3e575835e3158e
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit ac323d8d807060f7c95a685a9fe861e7b6300993 upstream.

Fix NULL pointer dereference of "chip-&gt;pdata" if platform_data was not
supplied to the driver.

The driver during probe stored the pointer to the platform_data:
	chip-&gt;pdata = client-&gt;dev.platform_data;
Later it was dereferenced in max17040_get_online() and
max17040_get_status().

If platform_data was not supplied, the NULL pointer exception would
happen:

[    6.626094] Unable to handle kernel  of a at virtual address 00000000
[    6.628557] pgd = c0004000
[    6.632868] [00000000] *pgd=66262564
[    6.634636] Unable to handle kernel paging request at virtual address e6262000
[    6.642014] pgd = de468000
[    6.644700] [e6262000] *pgd=00000000
[    6.648265] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
[    6.653552] Modules linked in:
[    6.656598] CPU: 0 PID: 31 Comm: kworker/0:1 Not tainted 3.10.14-02717-gc58b4b4 #505
[    6.664334] Workqueue: events max17040_work
[    6.668488] task: dfa11b80 ti: df9f6000 task.ti: df9f6000
[    6.673873] PC is at show_pte+0x80/0xb8
[    6.677687] LR is at show_pte+0x3c/0xb8
[    6.681503] pc : [&lt;c001b7b8&gt;]    lr : [&lt;c001b774&gt;]    psr: 600f0113
[    6.681503] sp : df9f7d58  ip : 600f0113  fp : 00000009
[    6.692965] r10: 00000000  r9 : 00000000  r8 : dfa11b80
[    6.698171] r7 : df9f7ea0  r6 : e6262000  r5 : 00000000  r4 : 00000000
[    6.704680] r3 : 00000000  r2 : e6262000  r1 : 600f0193  r0 : c05b3750
[    6.711194] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
[    6.718485] Control: 10c53c7d  Table: 5e46806a  DAC: 00000015
[    6.724218] Process kworker/0:1 (pid: 31, stack limit = 0xdf9f6238)
[    6.730465] Stack: (0xdf9f7d58 to 0xdf9f8000)
[    6.914325] [&lt;c001b7b8&gt;] (show_pte+0x80/0xb8) from [&lt;c047107c&gt;] (__do_kernel_fault.part.9+0x44/0x74)
[    6.923425] [&lt;c047107c&gt;] (__do_kernel_fault.part.9+0x44/0x74) from [&lt;c001bb7c&gt;] (do_page_fault+0x2c4/0x360)
[    6.933144] [&lt;c001bb7c&gt;] (do_page_fault+0x2c4/0x360) from [&lt;c0008400&gt;] (do_DataAbort+0x34/0x9c)
[    6.941825] [&lt;c0008400&gt;] (do_DataAbort+0x34/0x9c) from [&lt;c000e5d8&gt;] (__dabt_svc+0x38/0x60)
[    6.950058] Exception stack(0xdf9f7ea0 to 0xdf9f7ee8)
[    6.955099] 7ea0: df0c1790 00000000 00000002 00000000 df0c1794 df0c1790 df0c1790 00000042
[    6.963271] 7ec0: df0c1794 00000001 00000000 00000009 00000000 df9f7ee8 c0306268 c0306270
[    6.971419] 7ee0: a00f0113 ffffffff
[    6.974902] [&lt;c000e5d8&gt;] (__dabt_svc+0x38/0x60) from [&lt;c0306270&gt;] (max17040_work+0x8c/0x144)
[    6.983317] [&lt;c0306270&gt;] (max17040_work+0x8c/0x144) from [&lt;c003f364&gt;] (process_one_work+0x138/0x440)
[    6.992429] [&lt;c003f364&gt;] (process_one_work+0x138/0x440) from [&lt;c003fa64&gt;] (worker_thread+0x134/0x3b8)
[    7.001628] [&lt;c003fa64&gt;] (worker_thread+0x134/0x3b8) from [&lt;c00454bc&gt;] (kthread+0xa4/0xb0)
[    7.009875] [&lt;c00454bc&gt;] (kthread+0xa4/0xb0) from [&lt;c000eb28&gt;] (ret_from_fork+0x14/0x2c)
[    7.017943] Code: e1a03005 e2422480 e0826104 e59f002c (e7922104)
[    7.024017] ---[ end trace 73bc7006b9cc5c79 ]---

Signed-off-by: Krzysztof Kozlowski &lt;k.kozlowski@samsung.com&gt;
Fixes: c6f4a42de60b981dd210de01cd3e575835e3158e
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>charger-manager: Ensure event is not used as format string</title>
<updated>2013-07-13T18:03:40+00:00</updated>
<author>
<name>Kees Cook</name>
<email>keescook@chromium.org</email>
</author>
<published>2013-06-06T20:52:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=46796ed300f4f9ffa297ff548f0e2f08b7614f3b'/>
<id>46796ed300f4f9ffa297ff548f0e2f08b7614f3b</id>
<content type='text'>
commit 3594f4c0d7bc51e3a7e6d73c44e368ae079e42f3 upstream.

The exposed interface for cm_notify_event() could result in the event msg
string being parsed as a format string. Make sure it is only used as a
literal string.

Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;
Cc: Anton Vorontsov &lt;cbou@mail.ru&gt;
Cc: David Woodhouse &lt;dwmw2@infradead.org&gt;
Signed-off-by: Anton Vorontsov &lt;anton@enomsg.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 3594f4c0d7bc51e3a7e6d73c44e368ae079e42f3 upstream.

The exposed interface for cm_notify_event() could result in the event msg
string being parsed as a format string. Make sure it is only used as a
literal string.

Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;
Cc: Anton Vorontsov &lt;cbou@mail.ru&gt;
Cc: David Woodhouse &lt;dwmw2@infradead.org&gt;
Signed-off-by: Anton Vorontsov &lt;anton@enomsg.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>ab8500_btemp: Demote initcall sequence</title>
<updated>2013-03-03T22:06:44+00:00</updated>
<author>
<name>Rajanikanth H.V</name>
<email>rajanikanth.hv@stericsson.com</email>
</author>
<published>2013-01-23T04:26:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=7eb0fad53ef76201d81a2e9e1bad5b68a457e4e3'/>
<id>7eb0fad53ef76201d81a2e9e1bad5b68a457e4e3</id>
<content type='text'>
commit eeb0751c99522a4d1bbcc7b6bc1460cd07d07488 upstream.

Power supply subsystem creates thermal zone device for the property
'POWER_SUPPLY_PROP_TEMP' which requires thermal subsystem to be ready
before 'ab8500 battery temperature monitor' driver is initialized. ab8500
btemp driver is initialized with subsys_initcall whereas thermal subsystem
is initialized with fs_initcall which causes
thermal_zone_device_register(...) to crash since the required structure
'thermal_class' is not initialized yet:

Unable to handle kernel NULL pointer dereference at virtual address 000000a4
pgd = c0004000
[000000a4] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0    Tainted: G        W     (3.8.0-rc4-00001-g632fda8-dirty #1)
PC is at _raw_spin_lock+0x18/0x54
LR is at get_device_parent+0x50/0x1b8
pc : [&lt;c02f1dd0&gt;]    lr : [&lt;c01cb248&gt;]    psr: 60000013
sp : ef04bdc8  ip : 00000000  fp : c0446180
r10: ef216e38  r9 : c03af5d0  r8 : ef275c18
r7 : 00000000  r6 : c0476c14  r5 : ef275c18  r4 : ef095840
r3 : ef04a000  r2 : 00000001  r1 : 00000000  r0 : 000000a4
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 10c5787d  Table: 0000404a  DAC: 00000015
Process swapper/0 (pid: 1, stack limit = 0xef04a238)
Stack: (0xef04bdc8 to 0xef04c000)
[...]
[&lt;c02f1dd0&gt;] (_raw_spin_lock+0x18/0x54) from [&lt;c01cb248&gt;] (get_device_parent+0x50/0x1b8)
[&lt;c01cb248&gt;] (get_device_parent+0x50/0x1b8) from [&lt;c01cb8d8&gt;] (device_add+0xa4/0x574)
[&lt;c01cb8d8&gt;] (device_add+0xa4/0x574) from [&lt;c020b91c&gt;] (thermal_zone_device_register+0x118/0x938)
[&lt;c020b91c&gt;] (thermal_zone_device_register+0x118/0x938) from [&lt;c0202030&gt;] (power_supply_register+0x170/0x1f8)
[&lt;c0202030&gt;] (power_supply_register+0x170/0x1f8) from [&lt;c02055ec&gt;] (ab8500_btemp_probe+0x208/0x47c)
[&lt;c02055ec&gt;] (ab8500_btemp_probe+0x208/0x47c) from [&lt;c01cf0dc&gt;] (platform_drv_probe+0x14/0x18)
[&lt;c01cf0dc&gt;] (platform_drv_probe+0x14/0x18) from [&lt;c01cde70&gt;] (driver_probe_device+0x74/0x20c)
[&lt;c01cde70&gt;] (driver_probe_device+0x74/0x20c) from [&lt;c01ce094&gt;] (__driver_attach+0x8c/0x90)
[&lt;c01ce094&gt;] (__driver_attach+0x8c/0x90) from [&lt;c01cc640&gt;] (bus_for_each_dev+0x4c/0x80)
[&lt;c01cc640&gt;] (bus_for_each_dev+0x4c/0x80) from [&lt;c01cd6b4&gt;] (bus_add_driver+0x16c/0x23c)
[&lt;c01cd6b4&gt;] (bus_add_driver+0x16c/0x23c) from [&lt;c01ce54c&gt;] (driver_register+0x78/0x14c)
[&lt;c01ce54c&gt;] (driver_register+0x78/0x14c) from [&lt;c00086ac&gt;] (do_one_initcall+0xfc/0x164)
[&lt;c00086ac&gt;] (do_one_initcall+0xfc/0x164) from [&lt;c02e89c8&gt;] (kernel_init+0x120/0x2b8)
[&lt;c02e89c8&gt;] (kernel_init+0x120/0x2b8) from [&lt;c000e358&gt;] (ret_from_fork+0x14/0x3c)
Code: e3c3303f e5932004 e2822001 e5832004 (e1903f9f)
---[ end trace ed9df72941b5bada ]---

Signed-off-by: Rajanikanth H.V &lt;rajanikanth.hv@stericsson.com&gt;
Signed-off-by: Anton Vorontsov &lt;anton@enomsg.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit eeb0751c99522a4d1bbcc7b6bc1460cd07d07488 upstream.

Power supply subsystem creates thermal zone device for the property
'POWER_SUPPLY_PROP_TEMP' which requires thermal subsystem to be ready
before 'ab8500 battery temperature monitor' driver is initialized. ab8500
btemp driver is initialized with subsys_initcall whereas thermal subsystem
is initialized with fs_initcall which causes
thermal_zone_device_register(...) to crash since the required structure
'thermal_class' is not initialized yet:

Unable to handle kernel NULL pointer dereference at virtual address 000000a4
pgd = c0004000
[000000a4] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0    Tainted: G        W     (3.8.0-rc4-00001-g632fda8-dirty #1)
PC is at _raw_spin_lock+0x18/0x54
LR is at get_device_parent+0x50/0x1b8
pc : [&lt;c02f1dd0&gt;]    lr : [&lt;c01cb248&gt;]    psr: 60000013
sp : ef04bdc8  ip : 00000000  fp : c0446180
r10: ef216e38  r9 : c03af5d0  r8 : ef275c18
r7 : 00000000  r6 : c0476c14  r5 : ef275c18  r4 : ef095840
r3 : ef04a000  r2 : 00000001  r1 : 00000000  r0 : 000000a4
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 10c5787d  Table: 0000404a  DAC: 00000015
Process swapper/0 (pid: 1, stack limit = 0xef04a238)
Stack: (0xef04bdc8 to 0xef04c000)
[...]
[&lt;c02f1dd0&gt;] (_raw_spin_lock+0x18/0x54) from [&lt;c01cb248&gt;] (get_device_parent+0x50/0x1b8)
[&lt;c01cb248&gt;] (get_device_parent+0x50/0x1b8) from [&lt;c01cb8d8&gt;] (device_add+0xa4/0x574)
[&lt;c01cb8d8&gt;] (device_add+0xa4/0x574) from [&lt;c020b91c&gt;] (thermal_zone_device_register+0x118/0x938)
[&lt;c020b91c&gt;] (thermal_zone_device_register+0x118/0x938) from [&lt;c0202030&gt;] (power_supply_register+0x170/0x1f8)
[&lt;c0202030&gt;] (power_supply_register+0x170/0x1f8) from [&lt;c02055ec&gt;] (ab8500_btemp_probe+0x208/0x47c)
[&lt;c02055ec&gt;] (ab8500_btemp_probe+0x208/0x47c) from [&lt;c01cf0dc&gt;] (platform_drv_probe+0x14/0x18)
[&lt;c01cf0dc&gt;] (platform_drv_probe+0x14/0x18) from [&lt;c01cde70&gt;] (driver_probe_device+0x74/0x20c)
[&lt;c01cde70&gt;] (driver_probe_device+0x74/0x20c) from [&lt;c01ce094&gt;] (__driver_attach+0x8c/0x90)
[&lt;c01ce094&gt;] (__driver_attach+0x8c/0x90) from [&lt;c01cc640&gt;] (bus_for_each_dev+0x4c/0x80)
[&lt;c01cc640&gt;] (bus_for_each_dev+0x4c/0x80) from [&lt;c01cd6b4&gt;] (bus_add_driver+0x16c/0x23c)
[&lt;c01cd6b4&gt;] (bus_add_driver+0x16c/0x23c) from [&lt;c01ce54c&gt;] (driver_register+0x78/0x14c)
[&lt;c01ce54c&gt;] (driver_register+0x78/0x14c) from [&lt;c00086ac&gt;] (do_one_initcall+0xfc/0x164)
[&lt;c00086ac&gt;] (do_one_initcall+0xfc/0x164) from [&lt;c02e89c8&gt;] (kernel_init+0x120/0x2b8)
[&lt;c02e89c8&gt;] (kernel_init+0x120/0x2b8) from [&lt;c000e358&gt;] (ret_from_fork+0x14/0x3c)
Code: e3c3303f e5932004 e2822001 e5832004 (e1903f9f)
---[ end trace ed9df72941b5bada ]---

Signed-off-by: Rajanikanth H.V &lt;rajanikanth.hv@stericsson.com&gt;
Signed-off-by: Anton Vorontsov &lt;anton@enomsg.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>ab8500-chargalg: Only root should have write permission on sysfs file</title>
<updated>2013-03-03T22:06:44+00:00</updated>
<author>
<name>Lee Jones</name>
<email>lee.jones@linaro.org</email>
</author>
<published>2013-01-17T14:21:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f9a8884a35a74f1fb9f12a17f62331bdc6eac2af'/>
<id>f9a8884a35a74f1fb9f12a17f62331bdc6eac2af</id>
<content type='text'>
commit e3455002d04276c256a531f7175dce0f7d1cb78a upstream.

Only root should have write permission on sysfs file ab8500_chargalg/chargalg.

Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit e3455002d04276c256a531f7175dce0f7d1cb78a upstream.

Only root should have write permission on sysfs file ab8500_chargalg/chargalg.

Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'for-v3.4-rc1' of git://git.infradead.org/battery-2.6</title>
<updated>2012-03-30T23:09:02+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-03-30T23:09:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=919c840167ec93167e00ca817aa4627170419ebf'/>
<id>919c840167ec93167e00ca817aa4627170419ebf</id>
<content type='text'>
Pull battery updates from Anton Vorontsov:
 "Various small bugfixes and enhancements, plus two new drivers:
   - A quite complex ab8500 charger driver, submitted by Arun Murthy @
     ST-Ericsson;
   - Summit Microelectronics SMB347 Battery Charger, submitted by Bruce
     E Robertson and Alan Cox @ Intel.

  And that's all."

* tag 'for-v3.4-rc1' of git://git.infradead.org/battery-2.6: (36 commits)
  max17042_battery: Clean up interrupt handling
  Revert "max8998_charger: Include linux/module.h just once"
  ab8500_fg: Fix some build warnings on x86_64
  max17042_battery: Fix CHARGE_FULL representation.
  max8998_charger: Include linux/module.h just once
  power_supply: Convert i2c drivers to module_i2c_driver
  lp8727_charger: Add MODULE_DEVICE_TABLE
  charger-manager: Simplify charger_get_property(), get rid of a warning
  charger-manager: Clean up for better readability
  da9052-battery: Convert to use module_platform_driver
  da9052-battery: Fix a memory leak when unload the module
  da9052-battery: Add missing platform_set_drvdata
  ab8500: Turn unneeded global symbols into local ones
  ab8500_fg: Fix copy-paste error
  ab8500_fg: Get rid of 'struct battery_type'
  ab8500_fg: Get rid of 'struct v_to_cap'
  ab8500_btemp: Get rid of 'enum adc_therm'
  ab8500_charger: Convert to the new USB OTG calls
  ab8500-btemp: AB8500 battery temperature driver
  ab8500-fg: A8500 fuel gauge driver
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull battery updates from Anton Vorontsov:
 "Various small bugfixes and enhancements, plus two new drivers:
   - A quite complex ab8500 charger driver, submitted by Arun Murthy @
     ST-Ericsson;
   - Summit Microelectronics SMB347 Battery Charger, submitted by Bruce
     E Robertson and Alan Cox @ Intel.

  And that's all."

* tag 'for-v3.4-rc1' of git://git.infradead.org/battery-2.6: (36 commits)
  max17042_battery: Clean up interrupt handling
  Revert "max8998_charger: Include linux/module.h just once"
  ab8500_fg: Fix some build warnings on x86_64
  max17042_battery: Fix CHARGE_FULL representation.
  max8998_charger: Include linux/module.h just once
  power_supply: Convert i2c drivers to module_i2c_driver
  lp8727_charger: Add MODULE_DEVICE_TABLE
  charger-manager: Simplify charger_get_property(), get rid of a warning
  charger-manager: Clean up for better readability
  da9052-battery: Convert to use module_platform_driver
  da9052-battery: Fix a memory leak when unload the module
  da9052-battery: Add missing platform_set_drvdata
  ab8500: Turn unneeded global symbols into local ones
  ab8500_fg: Fix copy-paste error
  ab8500_fg: Get rid of 'struct battery_type'
  ab8500_fg: Get rid of 'struct v_to_cap'
  ab8500_btemp: Get rid of 'enum adc_therm'
  ab8500_charger: Convert to the new USB OTG calls
  ab8500-btemp: AB8500 battery temperature driver
  ab8500-fg: A8500 fuel gauge driver
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>max17042_battery: Clean up interrupt handling</title>
<updated>2012-03-26T16:41:29+00:00</updated>
<author>
<name>Ramakrishna Pallala</name>
<email>ramakrishna.pallala@intel.com</email>
</author>
<published>2012-03-20T21:33:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=5cdd4d7fa5424f2018193a0c2af3bef9036c973e'/>
<id>5cdd4d7fa5424f2018193a0c2af3bef9036c973e</id>
<content type='text'>
Max17042 driver has dummy hardIRQ function which
does nothing but waking the threaded handler.

This patch removes the hardIRQ function and also
modifies the interrupt type to falling edge. While
we are there, change the macros to comply with the
Data sheet.

Signed-off-by: Ramakrishna Pallala &lt;ramakrishna.pallala@intel.com&gt;
Signed-off-by: Anton Vorontsov &lt;anton.vorontsov@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Max17042 driver has dummy hardIRQ function which
does nothing but waking the threaded handler.

This patch removes the hardIRQ function and also
modifies the interrupt type to falling edge. While
we are there, change the macros to comply with the
Data sheet.

Signed-off-by: Ramakrishna Pallala &lt;ramakrishna.pallala@intel.com&gt;
Signed-off-by: Anton Vorontsov &lt;anton.vorontsov@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "max8998_charger: Include linux/module.h just once"</title>
<updated>2012-03-26T16:41:27+00:00</updated>
<author>
<name>Anton Vorontsov</name>
<email>anton.vorontsov@linaro.org</email>
</author>
<published>2012-03-26T16:26:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=d6f0b00c0a5f21a54b7f44838f3c3bf73d37b920'/>
<id>d6f0b00c0a5f21a54b7f44838f3c3bf73d37b920</id>
<content type='text'>
This reverts commit 0c7b5558ecc0a508bb7199776afbf18279595539.

linux-next has the following patch:

- - - -
commit 13ae246db4a02971ef4f557af1f6d3e21d64b710
Author: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
Date:   Sun Jan 29 15:44:45 2012 -0500

    includecheck: delete any duplicate instances of module.h
- - - -

It removes the other instance of include/module.h in this
driver, and so both gets removed. This makes max8998 driver
non-buildable.

Signed-off-by: Anton Vorontsov &lt;anton.vorontsov@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 0c7b5558ecc0a508bb7199776afbf18279595539.

linux-next has the following patch:

- - - -
commit 13ae246db4a02971ef4f557af1f6d3e21d64b710
Author: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
Date:   Sun Jan 29 15:44:45 2012 -0500

    includecheck: delete any duplicate instances of module.h
- - - -

It removes the other instance of include/module.h in this
driver, and so both gets removed. This makes max8998 driver
non-buildable.

Signed-off-by: Anton Vorontsov &lt;anton.vorontsov@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ab8500_fg: Fix some build warnings on x86_64</title>
<updated>2012-03-26T16:41:26+00:00</updated>
<author>
<name>Anton Vorontsov</name>
<email>anton.vorontsov@linaro.org</email>
</author>
<published>2012-03-26T16:18:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=5ae2b822e4dc2219e9544fec3be53de699ea0f56'/>
<id>5ae2b822e4dc2219e9544fec3be53de699ea0f56</id>
<content type='text'>
Noticed the following warnings:

  CC      drivers/power/ab8500_fg.o
drivers/power/ab8500_fg.c: In function 'charge_full_store':
drivers/power/ab8500_fg.c:2258:2: warning: format '%d' expects argument of type 'int', but argument 4 has type 'ssize_t' [-Wformat]
drivers/power/ab8500_fg.c: In function ‘charge_now_store’:
drivers/power/ab8500_fg.c:2280:2: warning: format '%d' expects argument of type 'int', but argument 4 has type 'ssize_t' [-Wformat]

This patch fixes the issues.

Signed-off-by: Anton Vorontsov &lt;anton.vorontsov@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Noticed the following warnings:

  CC      drivers/power/ab8500_fg.o
drivers/power/ab8500_fg.c: In function 'charge_full_store':
drivers/power/ab8500_fg.c:2258:2: warning: format '%d' expects argument of type 'int', but argument 4 has type 'ssize_t' [-Wformat]
drivers/power/ab8500_fg.c: In function ‘charge_now_store’:
drivers/power/ab8500_fg.c:2280:2: warning: format '%d' expects argument of type 'int', but argument 4 has type 'ssize_t' [-Wformat]

This patch fixes the issues.

Signed-off-by: Anton Vorontsov &lt;anton.vorontsov@linaro.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
