mfd: mc13xxx-core: Initialize the lock prior to using it
PATCH v2 1/1 mfd: mc13xxx-core: Initialize the lock prior to using it
From: Fabio Estevam <[email protected]>
After request_threaded_irq() is called there is a chance that an interrupt may occur before the 'mc13xxx->lock' is initialized, which will trigger a kernel oops.
In order to prevent that, move the initialization of 'mc13xxx->lock' prior to requesting the interrupts.
---
Changes since v1:
- Changed kernel warning --> kernel oops to better describe the problem
- Added Russell's Ack
drivers/mfd/mc13xxx-core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/mfd/mc13xxx-core.c +2 -2
@@ -660,13 +660,13 @@ int mc13xxx_common_init(struct device *dev)if (ret)return ret; +mutex_init (&mc13xxx->lock); + ret =request_threaded_irq (mc13xxx->irq,NULL , mc13xxx_irq_thread,IRQF_ONESHOT |IRQF_TRIGGER_HIGH ,"mc13xxx" , mc13xxx);if (ret)return ret; -mutex_init (&mc13xxx->lock); -if (mc13xxx_probe_flags_dt (mc13xxx) <0 && pdata) mc13xxx->flags = pdata->flags;
Signature · 1 line
1.8.3.2
Quoted 9 lines
From: Fabio Estevam <[email protected]>
After
request_threaded_irq()is called there is a chance that an interrupt may occur before the 'mc13xxx->lock' is initialized, which will trigger a kernel oops.In order to prevent that, move the initialization of '
mc13xxx->lock' prior to requesting the interrupts.
Quoted 6 lines
Suggested-by Russell King <[email protected]>Signed-off-by Fabio Estevam <[email protected]>---
Changes since v1:
- Changed kernel warning --> kernel oops to better describe the problem
- Added Russell's Ack
No you didn't. ;)
Applied with Russell's Ack.
Signature · 4 lines
Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog