[PATCH RESEND] mtd: m25p80: consider max message size in m25p80_read
Heiner Kallweit
hkallweit1 at gmail.com
Thu Oct 27 22:48:29 PDT 2016
Am 27.10.2016 um 23:23 schrieb Heiner Kallweit:
> Consider a message size limit when calculating the maximum amount
> of data that can be read.
>
> Signed-off-by: Heiner Kallweit <hkallweit1 at gmail.com>
> ---
> v2:
> - use the new function spi_max_message_size
>
> This patch was part of a series and is needed to correctly support
> reads > 64k on fsl-espi (as first user of spi_max_message_size).
> See commit 02a595d5d6e4 ("spi: fsl-espi: eliminate spi nor flash
> read loop")
> ---
> drivers/mtd/devices/m25p80.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c
> index 9cf7fcd..16a7df2 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);
>
Sorry, forgot that this needs to go to stable as well. Will send a v2.
More information about the linux-mtd
mailing list