Re: [next] arm64: db410c: WARNING: CPU: 0 PID: 1 at drivers/opp/core.c:2265 dev_pm_opp_clear_config+0x174/0x17c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 15-06-22, 02:49, Naresh Kamboju wrote:
> Following kernel crash reported while booting arm64 db410c board with
> Linux next-20220614 [1] kfence enabled on this kernel.
> 
> Reported-by: Linux Kernel Functional Testing <lkft@xxxxxxxxxx>
> 
> Boot log:
> ---------
> [    0.850420] WARNING: CPU: 0 PID: 1 at drivers/opp/core.c:2265

A print like this normally comes when we hit a WARN or something.

Here is the line 2265 from above tag

https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/opp/core.c?h=next-20220614#n2265

which doesn't have any such WARNs there. I wonder where exactly we hit the WARN
here and why it isn't showing up properly.

> dev_pm_opp_clear_config+0x174/0x17c
> [    0.850447] Modules linked in:
> [    0.850459] CPU: 0 PID: 1 Comm: swapper/0 Not tainted
> 5.19.0-rc1-next-20220610 #1
> [    0.850470] Hardware name: Qualcomm Technologies, Inc. APQ 8016 SBC (DT)
> [    0.850477] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> [    0.850489] pc : dev_pm_opp_clear_config+0x174/0x17c
> [    0.850501] lr : dt_cpufreq_probe+0x1e4/0x4a0
> [    0.850513] sp : ffff80000802bb00
> [    0.850518] x29: ffff80000802bb00 x28: ffff80000ada1c30 x27: 0000000000000000
> [    0.850538] x26: 00000000fffffdfb x25: ffff00000311f410 x24: ffff00000389ec90
> [    0.850557] x23: ffff80000a9eea98 x22: ffff80000a9eed00 x21: ffff80000ada1b68
> [    0.850576] x20: ffff00000389ec80 x19: ffff00003fc41308 x18: ffffffffffffffff
> [    0.850595] x17: ffff800009f21700 x16: ffff8000080955c0 x15: ffff0000031c2a1c
> [    0.850614] x14: 0000000000000001 x13: 0a6b636f6c632064 x12: 6e69662074276e64
> [    0.850632] x11: 0000000000000040 x10: 0000000000000020 x9 : ffff800009006964
> [    0.850650] x8 : 0000000000000020 x7 : ffffffffffffffff x6 : 0000000000000000
> [    0.850668] x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000000
> [    0.850686] x2 : 0000000000000004 x1 : 0000000000000000 x0 : 0000000000000000
> [    0.850704] Call trace:
> [    0.850708]  dev_pm_opp_clear_config+0x174/0x17c
> [    0.850722]  platform_probe+0x74/0xf0

Nevertheless, I see one place from where such a WARN can be hit, which can be
fixed with:

diff --git a/drivers/opp/core.c b/drivers/opp/core.c
index 58eae9de4b91..c3d4058d33fc 100644
--- a/drivers/opp/core.c
+++ b/drivers/opp/core.c
@@ -2437,7 +2437,7 @@ EXPORT_SYMBOL_GPL(dev_pm_opp_set_config);
  */
 void dev_pm_opp_clear_config(struct opp_table *opp_table)
 {
-       if (WARN_ON(!opp_table))
+       if (!opp_table)
                return;

        _opp_detach_genpd(opp_table);

Not sure it fixes the issue you reported here though.

Can you run the tests for my branch once, it has the updated fix as well.

git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm.git opp/linux-next

-- 
viresh



[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux