On 08/24/2016 03:04 PM, Kamal Dasu wrote: > In m25p80_read() even though spi_flash_read() is supported > by some drivers, under certain circumstances like unaligned > buffer, address or address range limitations on certain SoCs > let it fallback to core spi reads. Such drivers are expected > to return -EAGAIN so that the m25p80_read() uses standard > spi transfer. > > Signed-off-by: Kamal Dasu <kdasu.kdev@xxxxxxxxx> MTD folks, any comments on this? > --- > drivers/mtd/devices/m25p80.c | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c > index 9cf7fcd..77c2d2c 100644 > --- a/drivers/mtd/devices/m25p80.c > +++ b/drivers/mtd/devices/m25p80.c > @@ -155,9 +155,16 @@ static ssize_t m25p80_read(struct spi_nor *nor, loff_t from, size_t len, > msg.data_nbits = m25p80_rx_nbits(nor); > > ret = spi_flash_read(spi, &msg); > - if (ret < 0) > + > + if (ret >= 0) > + return msg.retlen; > + > + /* > + * some spi master drivers might need to fallback to > + * normal spi transfer > + */ > + if (ret != -EAGAIN) > return ret; > - return msg.retlen; > } > > spi_message_init(&m); > -- Florian -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html