spi: ti_qspi: Fix "spi-max-frequency" error path in ti_qspi_ofdata_to_platdata
authorOvidiu Panait <ovidiu.panait@windriver.com>
Sat, 28 Nov 2020 08:11:28 +0000 (10:11 +0200)
committerLokesh Vutla <lokeshvutla@ti.com>
Tue, 12 Jan 2021 04:51:41 +0000 (10:21 +0530)
struct ti_qspi_priv->max_hz is declared as unsigned int, so the following
error path check will always be false, even when "spi-max-frequency"
property is invalid/missing:
  priv->max_hz = fdtdec_get_int(blob, node, "spi-max-frequency", -1);
  if (priv->max_hz < 0) {
    ...
  }

Replace the fdtdec call with dev_read_u32_default() and use 0 as the
default value. Error out if max_hz is zero.

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
drivers/spi/ti_qspi.c

index 7c3b1f7..76bc480 100644 (file)
@@ -467,8 +467,8 @@ static int ti_qspi_of_to_plat(struct udevice *bus)
        priv->memory_map = map_physmem(mmap_addr, mmap_size, MAP_NOCACHE);
        priv->mmap_size = mmap_size;
 
-       priv->max_hz = fdtdec_get_int(blob, node, "spi-max-frequency", -1);
-       if (priv->max_hz < 0) {
+       priv->max_hz = dev_read_u32_default(bus, "spi-max-frequency", 0);
+       if (!priv->max_hz) {
                debug("Error: Max frequency missing\n");
                return -ENODEV;
        }