From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from dec59.ruk.cuni.cz ([2001:718:1e03:4::11]) by bombadil.infradead.org with smtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1a3o9a-0006uw-K8 for linux-mtd@lists.infradead.org; Tue, 01 Dec 2015 16:51:49 +0000 Date: 1 Dec 2015 16:51:06 -0000 Message-Id: <3b5bdc1fd88b1f18cddc926f85fb79c158e8f4eb.1448988089.git.hramrach@gmail.com> In-Reply-To: References: From: Michal Suchanek Subject: [PATCH v5 10/10] spi: m25p80: read in spi_max_transfer_size chunks To: Heiner Kallweit , David Woodhouse , Brian Norris , Han Xu , Mark Brown , Michal Suchanek , Boris Brezillon , Javier Martinez Canillas , Stephen Warren , "Andrew F. Davis" , Marek Vasut , "Rafał Miłecki" , Mika Westerberg , Gabor Juhos , "Bean Huo 霍斌斌 " , Furquan Shaikh , linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, linux-spi@vger.kernel.org, List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Take into account transfer size limitation of SPI master. Signed-off-by: Michal Suchanek --- drivers/mtd/devices/m25p80.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c index 58ecfa4..4f21755 100644 --- a/drivers/mtd/devices/m25p80.c +++ b/drivers/mtd/devices/m25p80.c @@ -150,7 +150,10 @@ 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 = len; + if (spi_max_transfer_size(spi)) + t[1].len = min_t(size_t, len, spi_max_transfer_size(spi)); + else + t[1].len = len; spi_message_add_tail(&t[1], &m); ret = spi_sync(spi, &m); -- 2.6.2