]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/baylibre-acme/protocol.c
bindings/python: Handle import failures without crashing
[libsigrok.git] / src / hardware / baylibre-acme / protocol.c
index 86fe020b345115690f903345392b38288e5ebe68..f8fdb595435a21a49dc18fa6dcb03fcc9e16b331 100644 (file)
@@ -414,6 +414,7 @@ SR_PRIV int bl_acme_set_power_off(const struct sr_channel_group *cg,
                                  gboolean off)
 {
        struct channel_group_priv *cgp;
+       int val;
 
        cgp = cg->priv;
 
@@ -422,7 +423,12 @@ SR_PRIV int bl_acme_set_power_off(const struct sr_channel_group *cg,
                return SR_ERR_ARG;
        }
 
-       sr_gpio_setval_export(pws_gpios[cgp->index], off ? 0 : 1);
+       val = sr_gpio_setval_export(pws_gpios[cgp->index], off ? 0 : 1);
+       if (val < 0) {
+               sr_err("Error setting power-off state: gpio: %d",
+                      pws_gpios[cgp->index]);
+               return SR_ERR_IO;
+       }
 
        return SR_OK;
 }