Message ID | 20241226122023.3439559-4-rohit.visavalia@amd.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | clk: xilinx: vcu: Sequence update and couple of fixes | expand |
Quoting Rohit Visavalia (2024-12-26 04:20:23) > If registration of pll_post is failed, it will be set to NULL or ERR, > unregistering same will fail with following call trace: > > Unable to handle kernel NULL pointer dereference at virtual address 008 > pc : clk_hw_unregister+0xc/0x20 > lr : clk_hw_unregister_fixed_factor+0x18/0x30 > sp : ffff800011923850 > ... > Call trace: > clk_hw_unregister+0xc/0x20 > clk_hw_unregister_fixed_factor+0x18/0x30 > xvcu_unregister_clock_provider+0xcc/0xf4 [xlnx_vcu] > xvcu_probe+0x2bc/0x53c [xlnx_vcu] > > Signed-off-by: Rohit Visavalia <rohit.visavalia@amd.com> Please add a Fixes tag, and put fixes earlier in the series so they can be applied while other patches go through review.
Hi Stephen, Thanks for the review. >-----Original Message----- >From: Stephen Boyd <sboyd@kernel.org> >Sent: Tuesday, December 31, 2024 6:07 AM >To: Visavalia, Rohit <rohit.visavalia@amd.com>; Simek, Michal ><michal.simek@amd.com>; mturquette@baylibre.com; Sagar, Vishal ><vishal.sagar@amd.com> >Cc: javier.carrasco.cruz@gmail.com; geert+renesas@glider.be; u.kleine- >koenig@baylibre.com; linux-clk@vger.kernel.org; linux-arm- >kernel@lists.infradead.org; linux-kernel@vger.kernel.org; Visavalia, Rohit ><rohit.visavalia@amd.com> >Subject: Re: [PATCH 3/3] clk: xilinx: vcu: unregister pll_post only if registered >correctly > >Quoting Rohit Visavalia (2024-12-26 04:20:23) >> If registration of pll_post is failed, it will be set to NULL or ERR, >> unregistering same will fail with following call trace: >> >> Unable to handle kernel NULL pointer dereference at virtual address >> 008 pc : clk_hw_unregister+0xc/0x20 lr : >> clk_hw_unregister_fixed_factor+0x18/0x30 >> sp : ffff800011923850 >> ... >> Call trace: >> clk_hw_unregister+0xc/0x20 >> clk_hw_unregister_fixed_factor+0x18/0x30 >> xvcu_unregister_clock_provider+0xcc/0xf4 [xlnx_vcu] >> xvcu_probe+0x2bc/0x53c [xlnx_vcu] >> >> Signed-off-by: Rohit Visavalia <rohit.visavalia@amd.com> > >Please add a Fixes tag, and put fixes earlier in the series so they can be applied >while other patches go through review. I will take care in next patch series. Thanks Rohit
diff --git a/drivers/clk/xilinx/xlnx_vcu.c b/drivers/clk/xilinx/xlnx_vcu.c index c3a4df7e325a..365c64384ebe 100644 --- a/drivers/clk/xilinx/xlnx_vcu.c +++ b/drivers/clk/xilinx/xlnx_vcu.c @@ -590,8 +590,8 @@ static void xvcu_unregister_clock_provider(struct xvcu_device *xvcu) xvcu_clk_hw_unregister_leaf(hws[CLK_XVCU_ENC_MCU]); if (!IS_ERR_OR_NULL(hws[CLK_XVCU_ENC_CORE])) xvcu_clk_hw_unregister_leaf(hws[CLK_XVCU_ENC_CORE]); - - clk_hw_unregister_fixed_factor(xvcu->pll_post); + if (!IS_ERR_OR_NULL(xvcu->pll_post)) + clk_hw_unregister_fixed_factor(xvcu->pll_post); } /**
If registration of pll_post is failed, it will be set to NULL or ERR, unregistering same will fail with following call trace: Unable to handle kernel NULL pointer dereference at virtual address 008 pc : clk_hw_unregister+0xc/0x20 lr : clk_hw_unregister_fixed_factor+0x18/0x30 sp : ffff800011923850 ... Call trace: clk_hw_unregister+0xc/0x20 clk_hw_unregister_fixed_factor+0x18/0x30 xvcu_unregister_clock_provider+0xcc/0xf4 [xlnx_vcu] xvcu_probe+0x2bc/0x53c [xlnx_vcu] Signed-off-by: Rohit Visavalia <rohit.visavalia@amd.com> --- drivers/clk/xilinx/xlnx_vcu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)