From 3f7a7c1dff509245231d24e016dcef97abcec0f7 Mon Sep 17 00:00:00 2001 From: Kim Taejeong Date: Tue, 5 Mar 2019 14:27:35 +0900 Subject: [PATCH] [RAMEN9610-12909][COMMON] muic: irq init sequnece change Problem: Kernel panic Cause: Before work queue init, the work is called in ISR Solution: Sequence is modified that the order on work queue and irq init is reversed. Change-Id: I99dfac1f36d01bb1c608e71cb88a95ad190aa34f Signed-off-by: Kim Taejeong --- drivers/muic/s2mu106-muic.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/muic/s2mu106-muic.c b/drivers/muic/s2mu106-muic.c index c8078ed64149..16b7a1b6991b 100644 --- a/drivers/muic/s2mu106-muic.c +++ b/drivers/muic/s2mu106-muic.c @@ -2503,12 +2503,6 @@ static int s2mu106_muic_probe(struct platform_device *pdev) } #endif /* CONFIG_HV_MUIC_S2MU106_AFC */ - ret = s2mu106_muic_irq_init(muic_data); - if (ret) { - pr_err("%s failed to init irq(%d)\n", __func__, ret); - goto fail_init_irq; - } - pr_info("%s muic_if->opmode(%d)\n", __func__, muic_if->opmode); INIT_DELAYED_WORK(&muic_data->dcd_recheck, s2mu106_muic_dcd_recheck); @@ -2544,6 +2538,12 @@ static int s2mu106_muic_probe(struct platform_device *pdev) } #endif + ret = s2mu106_muic_irq_init(muic_data); + if (ret) { + pr_err("%s failed to init irq(%d)\n", __func__, ret); + goto fail_init_irq; + } + if (muic_if->opmode == OPMODE_MUIC) { #if IS_ENABLED(CONFIG_MUIC_S2MU106_RID) s2mu106_muic_adc_change_isr(-1, muic_data); -- 2.20.1