spi_hal: Pull CS line back up if write / read_write operations fail
diff --git a/hw/bus/drivers/spi_hal/src/spi_hal.c b/hw/bus/drivers/spi_hal/src/spi_hal.c
index 26e30a2..1404456 100644
--- a/hw/bus/drivers/spi_hal/src/spi_hal.c
+++ b/hw/bus/drivers/spi_hal/src/spi_hal.c
@@ -184,7 +184,7 @@
     rc = hal_spi_txrx(dev->spi_dev.cfg.spi_num, (uint8_t *)buf, NULL, length);
 #endif
 
-    if (!(flags & BUS_F_NOSTOP)) {
+    if (rc || !(flags & BUS_F_NOSTOP)) {
         hal_gpio_write(node->pin_cs, 1);
     }
 
@@ -244,7 +244,7 @@
     }
 #endif
 
-    if (!(flags & BUS_F_NOSTOP)) {
+    if (rc || !(flags & BUS_F_NOSTOP)) {
         hal_gpio_write(node->pin_cs, 1);
     }