Re: [PATCH] video: fbdev: mmp: Fix deferred clk handling in mmphw_probe()

From: Christophe JAILLET
Date: Wed Apr 19 2023 - 01:28:18 EST


Le 19/04/2023 à 06:59, Dan Carpenter a écrit :
On Sat, Apr 15, 2023 at 04:09:03PM +0300, Dan Carpenter wrote:
On Thu, Apr 13, 2023 at 09:33:17PM +0200, Christophe JAILLET wrote:
When dev_err_probe() is called, 'ret' holds the value of the previous
successful devm_request_irq() call.
'ret' should be assigned with a meaningful value before being used in
dev_err_probe().

While at it, use and return "PTR_ERR(ctrl->clk)" instead of a hard-coded
"-ENOENT" so that -EPROBE_DEFER is handled and propagated correctly.

Fixes: 81b63420564d ("video: fbdev: mmp: Make use of the helper function dev_err_probe()")
Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
---

Presumably you already wrote a Coccinelle script for this but I've added
it to Smatch as well.

No I haven't.
I've spotted it while looking at some devm_clk_get_optional() candidate with grep.

git grep -A5 devm_clk_get | grep -B5 ENOENT

Not perfect, but sometimes this kind of approach can find interesting things coccinelle would miss.

As an example, the bitmap_alloc patch on sh4 was found this way, with grep.



So nice to have it in smatch, ;-)

CJ


Here is this warning:
drivers/video/fbdev/mmp/hw/mmp_ctrl.c:518 mmphw_probe() warn: passing zero to 'dev_err_probe'

Other warnings. All five are interesting.
drivers/power/supply/rt9467-charger.c:1026 rt9467_request_interrupt() warn: passing zero to 'dev_err_probe'
drivers/pci/controller/dwc/pcie-bt1.c:601 bt1_pcie_add_port() warn: passing zero to 'dev_err_probe'
drivers/spi/spi-sprd-adi.c:570 sprd_adi_probe() warn: passing zero to 'dev_err_probe'
drivers/soc/qcom/icc-bwmon.c:776 bwmon_probe() warn: passing zero to 'dev_err_probe'
drivers/soc/qcom/icc-bwmon.c:781 bwmon_probe() warn: passing zero to 'dev_err_probe'

regards,
dan carpenter