Merge pull request #2644 from kasjer/kasjer/fix-spi_hal-bus_write_read

hw/bus/spi_hal: Fix bus_spi_write_read
diff --git a/hw/bus/drivers/spi_hal/src/spi_hal.c b/hw/bus/drivers/spi_hal/src/spi_hal.c
index 1404456..5832fee 100644
--- a/hw/bus/drivers/spi_hal/src/spi_hal.c
+++ b/hw/bus/drivers/spi_hal/src/spi_hal.c
@@ -212,7 +212,7 @@
 #if MYNEWT_VAL(SPI_HAL_USE_NOBLOCK)
     if (wlength + rlength <= sizeof(buf)) {
         memcpy(buf, wbuf, wlength);
-        memset(buf + wlength, 0, rlength);
+        memset(buf + wlength, 0xFF, rlength);
         rc = hal_spi_txrx_noblock(dev->spi_dev.cfg.spi_num, buf, buf, wlength + rlength);
         if (rc == 0) {
             os_sem_pend(&dev->sem, OS_TIMEOUT_NEVER);
@@ -222,7 +222,7 @@
         rc = hal_spi_txrx_noblock(dev->spi_dev.cfg.spi_num, (uint8_t *)wbuf, NULL, wlength);
         if (rc == 0) {
             os_sem_pend(&dev->sem, OS_TIMEOUT_NEVER);
-            memset(rbuf, 0, rlength);
+            memset(rbuf, 0xFF, rlength);
             rc = hal_spi_txrx_noblock(dev->spi_dev.cfg.spi_num, rbuf, rbuf, rlength);
             if (rc == 0) {
                 os_sem_pend(&dev->sem, OS_TIMEOUT_NEVER);
@@ -239,7 +239,8 @@
     } else {
         rc = hal_spi_txrx(dev->spi_dev.cfg.spi_num, (uint8_t *)wbuf, NULL, wlength);
         if (rc == 0) {
-            rc = hal_spi_txrx(dev->spi_dev.cfg.spi_num, NULL, rbuf, rlength);
+            memset(rbuf, 0xFF, rlength);
+            rc = hal_spi_txrx(dev->spi_dev.cfg.spi_num, rbuf, rbuf, rlength);
         }
     }
 #endif