--- a/drivers/mtd/devices/m25p80.c +++ b/drivers/mtd/devices/m25p80.c @@ -149,8 +149,10 @@ static int m25p80_read(struct spi_nor *n msg.data_nbits = m25p80_rx_nbits(nor); ret = spi_flash_read(spi, &msg); - *retlen = msg.retlen; - return ret; + if (!ret) { + *retlen = msg.retlen; + return 0; + } } spi_message_init(&m);