Re: [PATCH 1/2] dmaengine: mv_xor_v2: Fix an error code.

From: Dan Carpenter
Date: Wed Mar 29 2023 - 06:27:37 EST


On Sun, Mar 26, 2023 at 09:06:37AM +0200, Christophe JAILLET wrote:
> If the probe is deferred, -EPROBE_DEFER should be returned, not
> +EPROBE_DEFER.
>
> Fixes: 3cd2c313f1d6 ("dmaengine: mv_xor_v2: Fix clock resource by adding a register clock")
> Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
> ---
> drivers/dma/mv_xor_v2.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/dma/mv_xor_v2.c b/drivers/dma/mv_xor_v2.c
> index 89790beba305..0991b8265829 100644
> --- a/drivers/dma/mv_xor_v2.c
> +++ b/drivers/dma/mv_xor_v2.c
> @@ -752,7 +752,7 @@ static int mv_xor_v2_probe(struct platform_device *pdev)
>
> xor_dev->clk = devm_clk_get(&pdev->dev, NULL);
> if (PTR_ERR(xor_dev->clk) == -EPROBE_DEFER) {
> - ret = EPROBE_DEFER;
> + ret = -EPROBE_DEFER;
> goto disable_reg_clk;

Heh. Looking through the Smatch results, I don't think this actually
affects runtime because driver_probe_device() checks for both positive
and negatives. People shouldn't be returning positives, of course, but
it appears there is a work around for bugs built in already.

regards,
dan carpenter