Re: [PATCH] spi: spi-geni-qcom: correctly handle -EPROBE_DEFER from dma_request_chan()

From: Dan Carpenter
Date: Thu Jun 15 2023 - 11:12:21 EST


Added the kernel-janitors mailing list to the CC.

On Thu, Jun 15, 2023 at 11:23:17AM +0200, Neil Armstrong wrote:
> Now spi_geni_grab_gpi_chan() errors are correctly reported, the
> -EPROBE_DEFER error should be returned from probe in case the
> GPI dma driver is built as module and/or not probed yet.
>
> Fixes: b59c122484ec ("spi: spi-geni-qcom: Add support for GPI dma")
> Fixes: 6532582c353f ("spi: spi-geni-qcom: fix error handling in spi_geni_grab_gpi_chan()")
> Signed-off-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>

In olden days the kernel janitors list used to have a TODO list of
random tasks that a newbie could take on. People loved the idea of a
TODO list but no one ever maintained it so in practice it was useless
after the first year. I've create a new KTODO tag so we can
automatically create KTODO lists. The idea is you write a one line
summary that starts with KTODO and the subsystem prefix like so:

KTODO: static analysis: Ensure that -EPROBE_DEFER is always propogated

Then people can use lei[1] to search for the tag and get the latest
TODO list. Here is the command to search for all the KTODO items added
in the last six months.

lei q https://lore.kernel.org/all/ -o ~/Mail/KTODO --dedupe=mid 'KTODO AND rt:6.month.ago..'

The KTODO entry should have a short summary. People can download thread
for more context if they want. Here is the short summary:

The -EPROBE_DEFER error code is special and needs to propogated to the
callers. If you have code like:

err = returns_eprobe_defer();
if (err)
return -EINVAL;

Then that is a bug because it's returning -EINVAL instead return err;
Use static analysis to prevent this.

regards,
dan carpenter

[1] https://lpc.events/event/11/contributions/983/attachments/759/1421/Doing%20more%20with%20lore%20and%20b4.pdf