mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2024-11-22 04:56:15 +00:00
9131cb44ff
Introduce EN7581 SoC support with currently rfb board supported. This is a new 64bit SoC from Airoha that is currently almost fully supported upstream with only the DTS missing. Setting source-only waiting for the full upstream support to be completed. Link: https://github.com/openwrt/openwrt/pull/16730 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
40 lines
1.4 KiB
Diff
40 lines
1.4 KiB
Diff
From 0e58637eb968c636725dcd6c7055249b4e5326fb Mon Sep 17 00:00:00 2001
|
|
From: Lorenzo Bianconi <lorenzo@kernel.org>
|
|
Date: Fri, 13 Sep 2024 23:07:14 +0200
|
|
Subject: [PATCH 2/2] spi: airoha: fix airoha_snand_{write,read}_data data_len
|
|
estimation
|
|
|
|
Fix data length written and read in airoha_snand_write_data and
|
|
airoha_snand_read_data routines respectively if it is bigger than
|
|
SPI_MAX_TRANSFER_SIZE.
|
|
|
|
Fixes: a403997c1201 ("spi: airoha: add SPI-NAND Flash controller driver")
|
|
Tested-by: Christian Marangi <ansuelsmth@gmail.com>
|
|
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
|
Link: https://patch.msgid.link/20240913-airoha-spi-fixes-v1-2-de2e74ed4664@kernel.org
|
|
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
---
|
|
drivers/spi/spi-airoha-snfi.c | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
--- a/drivers/spi/spi-airoha-snfi.c
|
|
+++ b/drivers/spi/spi-airoha-snfi.c
|
|
@@ -405,7 +405,7 @@ static int airoha_snand_write_data(struc
|
|
for (i = 0; i < len; i += data_len) {
|
|
int err;
|
|
|
|
- data_len = min(len, SPI_MAX_TRANSFER_SIZE);
|
|
+ data_len = min(len - i, SPI_MAX_TRANSFER_SIZE);
|
|
err = airoha_snand_set_fifo_op(as_ctrl, cmd, data_len);
|
|
if (err)
|
|
return err;
|
|
@@ -427,7 +427,7 @@ static int airoha_snand_read_data(struct
|
|
for (i = 0; i < len; i += data_len) {
|
|
int err;
|
|
|
|
- data_len = min(len, SPI_MAX_TRANSFER_SIZE);
|
|
+ data_len = min(len - i, SPI_MAX_TRANSFER_SIZE);
|
|
err = airoha_snand_set_fifo_op(as_ctrl, 0xc, data_len);
|
|
if (err)
|
|
return err;
|