summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-08-01 14:30:10 +0200
committerJoel Sherrill <joel@rtems.org>2020-09-23 08:19:47 -0500
commit98d7658f12631f2012ee088467aff952e418c2ae (patch)
tree6f24ea6ce12d51f26e2a792a12484e85e9bf0ab6
parentb82c1510be296e70017790cd44902621cc2ec77b (diff)
dev/spi-memdrv: Fix use of uninit mem_param_ptr
-rw-r--r--bsps/shared/dev/i2c/spi-memdrv.c21
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;