Message ID | 20240713095713.GA430091@bnew-VirtualBox (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | [v3] clocksource: qcom: Add missing iounmap() on errors in msm_dt_timer_init() | expand |
On Sat, Jul 13, 2024 at 03:27:13PM +0530, Ankit Agrawal wrote: > Add the missing iounmap() when clock frequency fails to get read by the > of_property_read_u32() call, or if the call to msm_timer_init() fails. > > Fixes: 6e3321631ac2 ("ARM: msm: Add DT support to msm_timer") > Signed-off-by: Ankit Agrawal <agrawal.ag.ankit@gmail.com> > Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > Changes in v3: > - Update patch commit message > - Link to v2: https://lore.kernel.org/linux-arm-msm/20240712082747.GA182658@bnew-VirtualBox/ > > Changes in v2: > - Add iounmap() if msm_timer_init() fails > - Update patch commit message > - Link to v1: https://lore.kernel.org/linux-arm-msm/20240710110813.GA15351@bnew-VirtualBox/ > --- > drivers/clocksource/timer-qcom.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/clocksource/timer-qcom.c b/drivers/clocksource/timer-qcom.c > index b4afe3a67..eac4c95c6 100644 > --- a/drivers/clocksource/timer-qcom.c > +++ b/drivers/clocksource/timer-qcom.c > @@ -233,6 +233,7 @@ static int __init msm_dt_timer_init(struct device_node *np) > } > > if (of_property_read_u32(np, "clock-frequency", &freq)) { > + iounmap(cpu0_base); > pr_err("Unknown frequency\n"); > return -EINVAL; > } > @@ -243,7 +244,11 @@ static int __init msm_dt_timer_init(struct device_node *np) > freq /= 4; > writel_relaxed(DGT_CLK_CTL_DIV_4, source_base + DGT_CLK_CTL); > > - return msm_timer_init(freq, 32, irq, !!percpu_offset); > + ret = msm_timer_init(freq, 32, irq, !!percpu_offset); > + if (ret) > + iounmap(cpu0_base); > + > + return ret; > } > TIMER_OF_DECLARE(kpss_timer, "qcom,kpss-timer", msm_dt_timer_init); > TIMER_OF_DECLARE(scss_timer, "qcom,scss-timer", msm_dt_timer_init); > -- > 2.25.1 Hello maintainers, Could you please suggest the next steps that should be taken to move this patch further. From what I understand, the merge-window for the next stable kernel release (v6.11) is open, and I would be very much grateful if I could get help on moving this patch further. Also, please let me know if I need to make any changes to the patch in order to finalize it :) Thanks! Ankit
On 13.07.2024 12:28 PM, Ankit Agrawal wrote: > On Sat, Jul 13, 2024 at 03:27:13PM +0530, Ankit Agrawal wrote: >> Add the missing iounmap() when clock frequency fails to get read by the >> of_property_read_u32() call, or if the call to msm_timer_init() fails. >> >> Fixes: 6e3321631ac2 ("ARM: msm: Add DT support to msm_timer") >> Signed-off-by: Ankit Agrawal <agrawal.ag.ankit@gmail.com> >> Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> >> --- >> Changes in v3: >> - Update patch commit message >> - Link to v2: https://lore.kernel.org/linux-arm-msm/20240712082747.GA182658@bnew-VirtualBox/ >> >> Changes in v2: >> - Add iounmap() if msm_timer_init() fails >> - Update patch commit message >> - Link to v1: https://lore.kernel.org/linux-arm-msm/20240710110813.GA15351@bnew-VirtualBox/ >> --- >> drivers/clocksource/timer-qcom.c | 7 ++++++- >> 1 file changed, 6 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/clocksource/timer-qcom.c b/drivers/clocksource/timer-qcom.c >> index b4afe3a67..eac4c95c6 100644 >> --- a/drivers/clocksource/timer-qcom.c >> +++ b/drivers/clocksource/timer-qcom.c >> @@ -233,6 +233,7 @@ static int __init msm_dt_timer_init(struct device_node *np) >> } >> >> if (of_property_read_u32(np, "clock-frequency", &freq)) { >> + iounmap(cpu0_base); >> pr_err("Unknown frequency\n"); >> return -EINVAL; >> } >> @@ -243,7 +244,11 @@ static int __init msm_dt_timer_init(struct device_node *np) >> freq /= 4; >> writel_relaxed(DGT_CLK_CTL_DIV_4, source_base + DGT_CLK_CTL); >> >> - return msm_timer_init(freq, 32, irq, !!percpu_offset); >> + ret = msm_timer_init(freq, 32, irq, !!percpu_offset); >> + if (ret) >> + iounmap(cpu0_base); >> + >> + return ret; >> } >> TIMER_OF_DECLARE(kpss_timer, "qcom,kpss-timer", msm_dt_timer_init); >> TIMER_OF_DECLARE(scss_timer, "qcom,scss-timer", msm_dt_timer_init); >> -- >> 2.25.1 > > Hello maintainers, > > Could you please suggest the next steps that should be taken to move > this patch further. From what I understand, the merge-window for the > next stable kernel release (v6.11) is open, and I would be very much > grateful if I could get help on moving this patch further. > > Also, please let me know if I need to make any changes to the patch in > order to finalize it :) The merge window is named very confusingly.. it's when your patches are NOT merged, but rather the patches accumulated in the maintainer trees are sent to Linus Torvalds, where he merges each one of them and runs some tests to make sure nothing broke. Your patches will be picked up after 6.11-rc1 drops, and (unless they're fixes) will be scheduled for 6.12 Konrad
On 13/07/2024 11:57, Ankit Agrawal wrote: > Add the missing iounmap() when clock frequency fails to get read by the > of_property_read_u32() call, or if the call to msm_timer_init() fails. > > Fixes: 6e3321631ac2 ("ARM: msm: Add DT support to msm_timer") > Signed-off-by: Ankit Agrawal <agrawal.ag.ankit@gmail.com> > Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- Applied, thanks Sorry for the delay. In the future, please send to To: instead of Cc: for the maintainers
diff --git a/drivers/clocksource/timer-qcom.c b/drivers/clocksource/timer-qcom.c index b4afe3a67..eac4c95c6 100644 --- a/drivers/clocksource/timer-qcom.c +++ b/drivers/clocksource/timer-qcom.c @@ -233,6 +233,7 @@ static int __init msm_dt_timer_init(struct device_node *np) } if (of_property_read_u32(np, "clock-frequency", &freq)) { + iounmap(cpu0_base); pr_err("Unknown frequency\n"); return -EINVAL; } @@ -243,7 +244,11 @@ static int __init msm_dt_timer_init(struct device_node *np) freq /= 4; writel_relaxed(DGT_CLK_CTL_DIV_4, source_base + DGT_CLK_CTL); - return msm_timer_init(freq, 32, irq, !!percpu_offset); + ret = msm_timer_init(freq, 32, irq, !!percpu_offset); + if (ret) + iounmap(cpu0_base); + + return ret; } TIMER_OF_DECLARE(kpss_timer, "qcom,kpss-timer", msm_dt_timer_init); TIMER_OF_DECLARE(scss_timer, "qcom,scss-timer", msm_dt_timer_init);