Skip to content

Commit 7e9d54d

Browse files
committed
[drivers/spi_flash_sfud] accept the error from spi read or write in spi_write_read function.
1 parent 0dc7da6 commit 7e9d54d

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

components/drivers/spi/spi_flash_sfud.c

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -151,11 +151,11 @@ static sfud_err spi_write_read(const sfud_spi *spi, const uint8_t *write_buf, si
151151
if(rtt_dev->rt_spi_device->bus->mode & RT_SPI_BUS_MODE_QSPI) {
152152
qspi_dev = (struct rt_qspi_device *) (rtt_dev->rt_spi_device);
153153
if (write_size && read_size) {
154-
if (rt_qspi_send_then_recv(qspi_dev, write_buf, write_size, read_buf, read_size) == 0) {
154+
if (rt_qspi_send_then_recv(qspi_dev, write_buf, write_size, read_buf, read_size) <= 0) {
155155
result = SFUD_ERR_TIMEOUT;
156156
}
157157
} else if (write_size) {
158-
if (rt_qspi_send(qspi_dev, write_buf, write_size) == 0) {
158+
if (rt_qspi_send(qspi_dev, write_buf, write_size) <= 0) {
159159
result = SFUD_ERR_TIMEOUT;
160160
}
161161
}
@@ -168,11 +168,11 @@ static sfud_err spi_write_read(const sfud_spi *spi, const uint8_t *write_buf, si
168168
result = SFUD_ERR_TIMEOUT;
169169
}
170170
} else if (write_size) {
171-
if (rt_spi_send(rtt_dev->rt_spi_device, write_buf, write_size) == 0) {
171+
if (rt_spi_send(rtt_dev->rt_spi_device, write_buf, write_size) <= 0) {
172172
result = SFUD_ERR_TIMEOUT;
173173
}
174174
} else {
175-
if (rt_spi_recv(rtt_dev->rt_spi_device, read_buf, read_size) == 0) {
175+
if (rt_spi_recv(rtt_dev->rt_spi_device, read_buf, read_size) <= 0) {
176176
result = SFUD_ERR_TIMEOUT;
177177
}
178178
}
@@ -317,7 +317,7 @@ sfud_err sfud_spi_port_init(sfud_flash *flash) {
317317
}
318318

319319
#ifdef RT_USING_DEVICE_OPS
320-
const static struct rt_device_ops flash_device_ops =
320+
const static struct rt_device_ops flash_device_ops =
321321
{
322322
RT_NULL,
323323
RT_NULL,
@@ -729,6 +729,7 @@ static void sf(uint8_t argc, char **argv) {
729729
for (i = 0; i < size; i += write_size) {
730730
result = sfud_write(sfud_dev, addr + i, write_size, write_data);
731731
if (result != SFUD_SUCCESS) {
732+
rt_kprintf("Writing %s failed, already wr for %lu bytes, write %d each time\n", sfud_dev->name, i, write_size);
732733
break;
733734
}
734735
}
@@ -756,6 +757,7 @@ static void sf(uint8_t argc, char **argv) {
756757
}
757758

758759
if (result != SFUD_SUCCESS) {
760+
rt_kprintf("Read %s failed, already rd for %lu bytes, read %d each time\n", sfud_dev->name, i, read_size);
759761
break;
760762
}
761763
}

0 commit comments

Comments
 (0)