
diff --git a/drivers/mtd/spi/spi-nor-core.c b/drivers/mtd/spi/spi-nor-core.c index faf02c7778..5895b5de09 100644 --- a/drivers/mtd/spi/spi-nor-core.c +++ b/drivers/mtd/spi/spi-nor-core.c @@ -1511,8 +1511,10 @@ static const struct flash_info *spi_nor_read_id(struct spi_nor *nor) info = spi_nor_ids; for (; info->name; info++) { if (info->id_len) {
if (!memcmp(info->id, id, info->id_len))
if ((!memcmp(info->id, id, info->id_len)) &&
memcpy(nor->spi->device_id, id, SPI_NOR_MAX_ID_LEN)) {
Please, don't put a memcpy() into a condition. It looks like a memcmp() to the eye.
return info;
}
if (!memcmp(info->id, id, info->id_len)) { memcpy(nor->spi->device_id, id, SPI_NOR_MAX_ID_LEN); return info; }
}
}
[ snip ]
static int cadence_spi_mem_exec_op(struct spi_slave *spi, const struct spi_mem_op *op) { @@ -353,6 +649,9 @@ static int cadence_spi_mem_exec_op(struct spi_slave *spi, break; }
- if (op->cmd.dtr)
err = cadence_spi_setup_ddrmode(spi, op);
- return err;
I think there should be another if (err) return err after the end of the switch statement.
}
regards, dan carpenter