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 012f3045958bad453fb1934b392691f6581c3c11..6c5bad4c2ca2d92a575bd2e25df81b2dfc35eeea 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);