diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-08-01 14:30:10 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-08-03 08:53:31 +0200 |
commit | 29e7a069f8b33021799f432ff977d21a163ffafe (patch) | |
tree | a55f27df99d83607ae080660f9e267a59c56a784 | |
parent | c60942ea5bd6c8973e1f81dd2674f753b2862839 (diff) |
dev/spi-memdrv: Fix use of uninit mem_param_ptr
-rw-r--r-- | bsps/shared/dev/i2c/spi-memdrv.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/bsps/shared/dev/i2c/spi-memdrv.c b/bsps/shared/dev/i2c/spi-memdrv.c index 593029732e..f3308e8fe1 100644 --- a/bsps/shared/dev/i2c/spi-memdrv.c +++ b/bsps/shared/dev/i2c/spi-memdrv.c @@ -365,26 +365,23 @@ rtems_status_code spi_memdrv_read rc = rtems_libi2c_send_addr(minor,TRUE); } - if (off >= mem_param_ptr->mem_size) { + if (rc == RTEMS_SUCCESSFUL) { /* * HACK: beyond size of memory array? then read status register instead */ - /* - * send read status register command - */ - if (rc == RTEMS_SUCCESSFUL) { + if (off >= mem_param_ptr->mem_size) { + /* + * send read status register command + */ cmdbuf[0] = SPI_MEM_CMD_RDSR; ret_cnt = rtems_libi2c_write_bytes(minor,cmdbuf,1); if (ret_cnt < 0) { rc = -ret_cnt; } - } - } - else { - /* - * send read command and address - */ - if (rc == RTEMS_SUCCESSFUL) { + } else { + /* + * send read command and address + */ cmdbuf[0] = SPI_MEM_CMD_READ; if (mem_param_ptr->mem_size > 0x10000 /* 256*256 */) { cmdbuf[1] = (off >> 16) & 0xff; |