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 /bsps/shared/dev | |
parent | rtems: Add rtems_interrupt_server_create() (diff) | |
download | rtems-29e7a069f8b33021799f432ff977d21a163ffafe.tar.bz2 |
dev/spi-memdrv: Fix use of uninit mem_param_ptr
Diffstat (limited to 'bsps/shared/dev')
-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; |