spi: nxp_fspi: Fix error reporting
authorAdam Ford <aford173@gmail.com>
Mon, 18 Jan 2021 21:32:49 +0000 (15:32 -0600)
committerJagan Teki <jagan@amarulasolutions.com>
Fri, 26 Feb 2021 09:39:38 +0000 (15:09 +0530)
On the i.MX8M Mini, ret = clk_set_rate() sets ret to the value of the
rate the clock was able to set.  When checking for errors, it only
checks that it is not NULL.  Since positive numbers are not errors,
only check for negative numbers when handling errors.

Fixes: 383fded70c4f ("spi: nxp_fspi: new driver for the FlexSPI controller")
Signed-off-by: Adam Ford <aford173@gmail.com>
Reviewed-by: Pratyush Yadav <p.yadav@ti.com>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
drivers/spi/nxp_fspi.c

index 012f304..6c5bad4 100644 (file)
@@ -823,7 +823,7 @@ static int nxp_fspi_default_setup(struct nxp_fspi *f)
 
        /* the default frequency, we will change it later if necessary. */
        ret = clk_set_rate(&f->clk, 20000000);
-       if (ret)
+       if (ret < 0)
                return ret;
 
        ret = nxp_fspi_clk_prep_enable(f);
@@ -914,7 +914,7 @@ static int nxp_fspi_set_speed(struct udevice *bus, uint speed)
        nxp_fspi_clk_disable_unprep(f);
 
        ret = clk_set_rate(&f->clk, speed);
-       if (ret)
+       if (ret < 0)
                return ret;
 
        ret = nxp_fspi_clk_prep_enable(f);