dev/spi-memdrv: Fix use of uninit mem_param_ptr

This commit is contained in:
Sebastian Huber
2020-08-01 14:30:10 +02:00
parent c60942ea5b
commit 29e7a069f8

View File

@@ -365,26 +365,23 @@ rtems_status_code spi_memdrv_read
rc = rtems_libi2c_send_addr(minor,TRUE); 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 * HACK: beyond size of memory array? then read status register instead
*/ */
if (off >= mem_param_ptr->mem_size) {
/* /*
* send read status register command * send read status register command
*/ */
if (rc == RTEMS_SUCCESSFUL) {
cmdbuf[0] = SPI_MEM_CMD_RDSR; cmdbuf[0] = SPI_MEM_CMD_RDSR;
ret_cnt = rtems_libi2c_write_bytes(minor,cmdbuf,1); ret_cnt = rtems_libi2c_write_bytes(minor,cmdbuf,1);
if (ret_cnt < 0) { if (ret_cnt < 0) {
rc = -ret_cnt; rc = -ret_cnt;
} }
} } else {
}
else {
/* /*
* send read command and address * send read command and address
*/ */
if (rc == RTEMS_SUCCESSFUL) {
cmdbuf[0] = SPI_MEM_CMD_READ; cmdbuf[0] = SPI_MEM_CMD_READ;
if (mem_param_ptr->mem_size > 0x10000 /* 256*256 */) { if (mem_param_ptr->mem_size > 0x10000 /* 256*256 */) {
cmdbuf[1] = (off >> 16) & 0xff; cmdbuf[1] = (off >> 16) & 0xff;