diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-08-01 14:30:10 +0200 |
---|---|---|
committer | Joel Sherrill <joel@rtems.org> | 2020-09-23 08:19:47 -0500 |
commit | 98d7658f12631f2012ee088467aff952e418c2ae (patch) | |
tree | 6f24ea6ce12d51f26e2a792a12484e85e9bf0ab6 | |
parent | b82c1510be296e70017790cd44902621cc2ec77b (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; |