Hi Biju, On Tue, Aug 15, 2023 at 3:16 PM Biju Das <biju.das.jz@xxxxxxxxxxxxxx> wrote: > Fix the below random NULL pointer crash during boot by serializing > pinctrl group and function creation/remove calls in > rzg2l_dt_subnode_to_map() with mutex lock. > > Crash logs: > pc : __pi_strcmp+0x20/0x140 > lr : pinmux_func_name_to_selector+0x68/0xa4 > Call trace: > __pi_strcmp+0x20/0x140 > pinmux_generic_add_function+0x34/0xcc > rzg2l_dt_subnode_to_map+0x314/0x44c > rzg2l_dt_node_to_map+0x164/0x194 > pinctrl_dt_to_map+0x218/0x37c > create_pinctrl+0x70/0x3d8 > > While at it, add comments for bitmap_lock and lock. > > Fixes: c4c4637eb57f ("pinctrl: renesas: Add RZ/G2L pin and gpio controller driver") > Cc: stable@xxxxxxxxxx > Tested-by: Chris Paterson <Chris.Paterson2@xxxxxxxxxxx> > Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx> > --- > v2->v3: > * Added comment for bitmap_lock and lock. > * Moved map allocation down to reduce lock section. > * Added locks for maps and pinctrl group and function creation/remove > calls > * Added unlock_and_done label for lock error path. Thanks for the update! Upon closer look, I noticed that I had missed that the map allocation is not global, but local to a specific DT node, so it does not need protection by a lock. If no one objects, I will back out that change myself, queue this patch in renesas-pinctrl-for-v6.6, and send a PR tomorrow. Thanks! Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds