Nico Huber merged this change.

View Change

Approvals: build bot (Jenkins): Verified David Hendricks: Looks good to me, approved Julian von Mendel: Looks good to me, but someone else must approve
linux_spi: Reduce maximum read chunksize

It turned out that older kernels use a single buffer of `bufsiz` bytes
for combined input and output data. So we have to account for the read
command + max 4 address bytes.

Change-Id: Ide50db38af1004fde09a70b15938e77f5e1285ac
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Tested-by: Julian von Mendel <git@jinvent.de>
Reviewed-on: https://review.coreboot.org/25149
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julian von Mendel <git@jinvent.de>
Reviewed-by: David Hendricks <david.hendricks@gmail.com>
---
M linux_spi.c
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/linux_spi.c b/linux_spi.c
index 1d3605a..714e612 100644
--- a/linux_spi.c
+++ b/linux_spi.c
@@ -221,8 +221,9 @@

static int linux_spi_read(struct flashctx *flash, uint8_t *buf, unsigned int start, unsigned int len)
{
- /* Read buffer is fully utilized for data. */
- return spi_read_chunked(flash, buf, start, len, max_kernel_buf_size);
+ /* Older kernels use a single buffer for combined input and output
+ data. So account for longest possible command + address, too. */
+ return spi_read_chunked(flash, buf, start, len, max_kernel_buf_size - 5);
}

static int linux_spi_write_256(struct flashctx *flash, const uint8_t *buf, unsigned int start, unsigned int len)

To view, visit change 25149. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ide50db38af1004fde09a70b15938e77f5e1285ac
Gerrit-Change-Number: 25149
Gerrit-PatchSet: 3
Gerrit-Owner: Nico Huber <nico.h@gmx.de>
Gerrit-Reviewer: David Hendricks <david.hendricks@gmail.com>
Gerrit-Reviewer: Julian von Mendel <git@jinvent.de>
Gerrit-Reviewer: Nico Huber <nico.h@gmx.de>
Gerrit-Reviewer: Paul Menzel <paulepanter@users.sourceforge.net>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>