001-4.11-01-mtd-m25p80-consider-max-message-size-in-m25p80_read.patch 1.0 KB

123456789101112131415161718192021222324252627282930
  1. From 80a79a889ce5df16c5261ab2f1e8e63b94b78102 Mon Sep 17 00:00:00 2001
  2. From: Heiner Kallweit <[email protected]>
  3. Date: Fri, 28 Oct 2016 07:58:46 +0200
  4. Subject: [PATCH 1/8] mtd: m25p80: consider max message size in m25p80_read
  5. Consider a message size limit when calculating the maximum amount
  6. of data that can be read.
  7. The message size limit has been introduced with 4.9, so cc it
  8. to stable.
  9. Signed-off-by: Heiner Kallweit <[email protected]>
  10. Cc: <[email protected]> # 4.9.x
  11. Signed-off-by: Cyrille Pitchen <[email protected]>
  12. ---
  13. drivers/mtd/devices/m25p80.c | 3 ++-
  14. 1 file changed, 2 insertions(+), 1 deletion(-)
  15. --- a/drivers/mtd/devices/m25p80.c
  16. +++ b/drivers/mtd/devices/m25p80.c
  17. @@ -172,7 +172,8 @@ static ssize_t m25p80_read(struct spi_no
  18. t[1].rx_buf = buf;
  19. t[1].rx_nbits = m25p80_rx_nbits(nor);
  20. - t[1].len = min(len, spi_max_transfer_size(spi));
  21. + t[1].len = min3(len, spi_max_transfer_size(spi),
  22. + spi_max_message_size(spi) - t[0].len);
  23. spi_message_add_tail(&t[1], &m);
  24. ret = spi_sync(spi, &m);