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 <hkallweit1@gmail.com>
Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
 
        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);