diff --git a/include/ethosu_driver.h b/include/ethosu_driver.h
index 345f82f..46f777a 100644
--- a/include/ethosu_driver.h
+++ b/include/ethosu_driver.h
@@ -95,9 +95,9 @@
                    uint32_t secure_enable,
                    uint32_t privilege_enable);
 
-#define ethosu_init(base_address) ethosu_init_v3(base_address, NULL, 0, 1, 1)
+#define ethosu_init(base_address) ethosu_init_v3(base_address, NULL, 0, 0, 0)
 #define ethosu_init_v2(base_address, fast_memory, fast_memory_size)                                                    \
-    ethosu_init_v3(base_address, fast_memory, fast_memory_size, 1, 1)
+    ethosu_init_v3(base_address, fast_memory, fast_memory_size, 0, 0)
 
 /**
  * Get Ethos-U version.
diff --git a/src/ethosu_driver.c b/src/ethosu_driver.c
index fcb3fbb..3c9c55b 100644
--- a/src/ethosu_driver.c
+++ b/src/ethosu_driver.c
@@ -179,7 +179,7 @@
 
     if (ethosu_status_has_error(&ethosu_drv.dev))
     {
-        ethosu_soft_reset(&ethosu_drv.dev);
+        (void)ethosu_soft_reset(&ethosu_drv.dev);
         ethosu_drv.status_error = true;
     }
 }
@@ -264,7 +264,10 @@
         return -1;
     }
 
-    ethosu_soft_reset(&ethosu_drv.dev);
+    if (ETHOSU_SUCCESS != ethosu_soft_reset(&ethosu_drv.dev))
+    {
+        return -1;
+    }
 
     if (ETHOSU_SUCCESS != ethosu_wait_for_reset(&ethosu_drv.dev))
     {
@@ -355,7 +358,10 @@
 
     if (ethosu_drv.dev.reset != ethosu_read_reg(&ethosu_drv.dev, NPU_REG_PROT))
     {
-        ethosu_soft_reset(&ethosu_drv.dev);
+        if (ETHOSU_SUCCESS != ethosu_soft_reset(&ethosu_drv.dev))
+        {
+            return -1;
+        }
     }
     ethosu_drv.status_error = false;
     ethosu_set_clock_and_power(&ethosu_drv.dev, ETHOSU_CLOCK_Q_ENABLE, ETHOSU_POWER_Q_DISABLE);
