Home
last modified time | relevance | path

Searched hist:"0 cd0e49711556d2331a06b1117b68dd786cb54d2" (Results 1 – 1 of 1) sorted by relevance

/linux/drivers/power/supply/
H A Dmax14656_charger_detector.cdiff 0cd0e49711556d2331a06b1117b68dd786cb54d2 Fri Feb 15 22:43:02 CET 2019 Sven Van Asbroeck <thesven73@gmail.com> power: supply: max14656: fix potential use-before-alloc

Call order on probe():
- max14656_hw_init() enables interrupts on the chip
- devm_request_irq() starts processing interrupts, isr
could be called immediately
- isr: schedules delayed work (irq_work)
- irq_work: calls power_supply_changed()
- devm_power_supply_register() registers the power supply

Depending on timing, it's possible that power_supply_changed()
is called on an unregistered power supply structure.

Fix by registering the power supply before requesting the irq.

Cc: Alexander Kurz <akurz@blala.de>
Signed-off-by: Sven Van Asbroeck <TheSven73@gmail.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>