ftm_quaddec_probe() calls mutex_init() but neither the cleanup
action nor a remove callback issues a matching mutex_destroy(),
so the lock debug state is leaked on driver unbind.
Switch to devm_mutex_init() so the mutex is torn down in the same
devm scope it was set up in.
Signed-off-by: Stepan Ionichev <sozdayvek@gmail.com>
---
drivers/counter/ftm-quaddec.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/counter/ftm-quaddec.c b/drivers/counter/ftm-quaddec.c
index c47741292..8455f16d6 100644
--- a/drivers/counter/ftm-quaddec.c
+++ b/drivers/counter/ftm-quaddec.c
@@ -292,7 +292,9 @@ static int ftm_quaddec_probe(struct platform_device *pdev)
counter->signals = ftm_quaddec_signals;
counter->num_signals = ARRAY_SIZE(ftm_quaddec_signals);
- mutex_init(&ftm->ftm_quaddec_mutex);
+ ret = devm_mutex_init(&pdev->dev, &ftm->ftm_quaddec_mutex);
+ if (ret)
+ return ret;
ftm_quaddec_init(ftm);
--
2.43.0