Message ID | 20221127-mtk-svs-v2-0-145b07663ea8@chromium.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] soc: mediatek: mtk-svs: Enable the IRQ later | expand |
On 20/12/2022 22:35, Ricardo Ribalda wrote: > If the system does not come from reset (like when is booted via > kexec()), the peripheral might triger an IRQ before the data structures > are initialised. > > Fixes: > > [ 0.227710] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000f08 > [ 0.227913] Call trace: > [ 0.227918] svs_isr+0x8c/0x538 > > Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> Thanks Ricardo. Roger I'll wait for a Tested-by tag from you to make sure this time everything is fine. Regards, Matthias > --- > To: Matthias Brugger <matthias.bgg@gmail.com> > To: Roger Lu <Roger.Lu@mediatek.com> > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-mediatek@lists.infradead.org > Cc: linux-kernel@vger.kernel.org > --- > Changes in v2: > - Enable the irq before svs_start, to avoid MT8192 not starting. > - Link to v1: https://lore.kernel.org/r/20221127-mtk-svs-v1-0-7a5819595838@chromium.org > --- > drivers/soc/mediatek/mtk-svs.c | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/drivers/soc/mediatek/mtk-svs.c b/drivers/soc/mediatek/mtk-svs.c > index 0469c9dfeb04..75b2f534aa9d 100644 > --- a/drivers/soc/mediatek/mtk-svs.c > +++ b/drivers/soc/mediatek/mtk-svs.c > @@ -2385,14 +2385,6 @@ static int svs_probe(struct platform_device *pdev) > goto svs_probe_free_resource; > } > > - ret = devm_request_threaded_irq(svsp->dev, svsp_irq, NULL, svs_isr, > - IRQF_ONESHOT, svsp->name, svsp); > - if (ret) { > - dev_err(svsp->dev, "register irq(%d) failed: %d\n", > - svsp_irq, ret); > - goto svs_probe_free_resource; > - } > - > svsp->main_clk = devm_clk_get(svsp->dev, "main"); > if (IS_ERR(svsp->main_clk)) { > dev_err(svsp->dev, "failed to get clock: %ld\n", > @@ -2414,6 +2406,14 @@ static int svs_probe(struct platform_device *pdev) > goto svs_probe_clk_disable; > } > > + ret = devm_request_threaded_irq(svsp->dev, svsp_irq, NULL, svs_isr, > + IRQF_ONESHOT, svsp->name, svsp); > + if (ret) { > + dev_err(svsp->dev, "register irq(%d) failed: %d\n", > + svsp_irq, ret); > + goto svs_probe_iounmap; > + } > + > ret = svs_start(svsp); > if (ret) { > dev_err(svsp->dev, "svs start fail: %d\n", ret); > > --- > base-commit: 4312098baf37ee17a8350725e6e0d0e8590252d4 > change-id: 20221127-mtk-svs-add137fbf187 > > Best regards,
On 21/12/2022 09:56, Matthias Brugger wrote: > > > On 20/12/2022 22:35, Ricardo Ribalda wrote: >> If the system does not come from reset (like when is booted via >> kexec()), the peripheral might triger an IRQ before the data structures >> are initialised. >> >> Fixes: >> >> [ 0.227710] Unable to handle kernel NULL pointer dereference at virtual >> address 0000000000000f08 >> [ 0.227913] Call trace: >> [ 0.227918] svs_isr+0x8c/0x538 >> >> Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> > > Thanks Ricardo. Roger I'll wait for a Tested-by tag from you to make sure this > time everything is fine. > Given the chinese new year holidays I don't expect a Tested-by tag from Roger in time. So I just took this one without it. Thanks! Matthias
Hi Matthias Sir, Excuse me for missing this thread. Add Tested-by tag. On Wed, 2023-01-25 at 20:11 +0100, Matthias Brugger wrote: > > On 21/12/2022 09:56, Matthias Brugger wrote: > > > > > > On 20/12/2022 22:35, Ricardo Ribalda wrote: > > > If the system does not come from reset (like when is booted via > > > kexec()), the peripheral might triger an IRQ before the data structures > > > are initialised. > > > > > > Fixes: > > > > > > [ 0.227710] Unable to handle kernel NULL pointer dereference at > > > virtual > > > address 0000000000000f08 > > > [ 0.227913] Call trace: > > > [ 0.227918] svs_isr+0x8c/0x538 > > > > > > Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> > > > > Thanks Ricardo. Roger I'll wait for a Tested-by tag from you to make sure > > this > > time everything is fine. > > > > Given the chinese new year holidays I don't expect a Tested-by tag from Roger > in > time. So I just took this one without it. Tested-by: Roger Lu <roger.lu@mediatek.com> > > Thanks! > Matthias
diff --git a/drivers/soc/mediatek/mtk-svs.c b/drivers/soc/mediatek/mtk-svs.c index 0469c9dfeb04..75b2f534aa9d 100644 --- a/drivers/soc/mediatek/mtk-svs.c +++ b/drivers/soc/mediatek/mtk-svs.c @@ -2385,14 +2385,6 @@ static int svs_probe(struct platform_device *pdev) goto svs_probe_free_resource; } - ret = devm_request_threaded_irq(svsp->dev, svsp_irq, NULL, svs_isr, - IRQF_ONESHOT, svsp->name, svsp); - if (ret) { - dev_err(svsp->dev, "register irq(%d) failed: %d\n", - svsp_irq, ret); - goto svs_probe_free_resource; - } - svsp->main_clk = devm_clk_get(svsp->dev, "main"); if (IS_ERR(svsp->main_clk)) { dev_err(svsp->dev, "failed to get clock: %ld\n", @@ -2414,6 +2406,14 @@ static int svs_probe(struct platform_device *pdev) goto svs_probe_clk_disable; } + ret = devm_request_threaded_irq(svsp->dev, svsp_irq, NULL, svs_isr, + IRQF_ONESHOT, svsp->name, svsp); + if (ret) { + dev_err(svsp->dev, "register irq(%d) failed: %d\n", + svsp_irq, ret); + goto svs_probe_iounmap; + } + ret = svs_start(svsp); if (ret) { dev_err(svsp->dev, "svs start fail: %d\n", ret);
If the system does not come from reset (like when is booted via kexec()), the peripheral might triger an IRQ before the data structures are initialised. Fixes: [ 0.227710] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000f08 [ 0.227913] Call trace: [ 0.227918] svs_isr+0x8c/0x538 Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> --- To: Matthias Brugger <matthias.bgg@gmail.com> To: Roger Lu <Roger.Lu@mediatek.com> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-mediatek@lists.infradead.org Cc: linux-kernel@vger.kernel.org --- Changes in v2: - Enable the irq before svs_start, to avoid MT8192 not starting. - Link to v1: https://lore.kernel.org/r/20221127-mtk-svs-v1-0-7a5819595838@chromium.org --- drivers/soc/mediatek/mtk-svs.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) --- base-commit: 4312098baf37ee17a8350725e6e0d0e8590252d4 change-id: 20221127-mtk-svs-add137fbf187 Best regards,