From: Heiner Kallweit Date: Fri, 28 Oct 2016 05:58:46 +0000 (+0200) Subject: mtd: m25p80: consider max message size in m25p80_read X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=9e276de6a367cde07c1a63522152985d4e5cca8b;p=openwrt%2Fstaging%2Fblogic.git mtd: m25p80: consider max message size in m25p80_read Consider a message size limit when calculating the maximum amount of data that can be read. The message size limit has been introduced with 4.9, so cc it to stable. Signed-off-by: Heiner Kallweit Signed-off-by: Cyrille Pitchen --- diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c index 9cf7fcd28034..16a7df2a0246 100644 --- a/drivers/mtd/devices/m25p80.c +++ b/drivers/mtd/devices/m25p80.c @@ -172,7 +172,8 @@ static ssize_t m25p80_read(struct spi_nor *nor, loff_t from, size_t len, t[1].rx_buf = buf; t[1].rx_nbits = m25p80_rx_nbits(nor); - t[1].len = min(len, spi_max_transfer_size(spi)); + t[1].len = min3(len, spi_max_transfer_size(spi), + spi_max_message_size(spi) - t[0].len); spi_message_add_tail(&t[1], &m); ret = spi_sync(spi, &m);