From cada819c3997355d85979539aeaf9fb847225ba6 Mon Sep 17 00:00:00 2001 From: Brendan Le Foll Date: Wed, 21 Sep 2016 14:39:32 +0100 Subject: [PATCH] intel_edison_fab_c.c: don't undo muxing if we don't own the pin Signed-off-by: Brendan Le Foll --- src/x86/intel_edison_fab_c.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/x86/intel_edison_fab_c.c b/src/x86/intel_edison_fab_c.c index b392c17..9aca6a8 100644 --- a/src/x86/intel_edison_fab_c.c +++ b/src/x86/intel_edison_fab_c.c @@ -208,11 +208,14 @@ mraa_intel_edison_gpio_init_post(mraa_gpio_context dev) mraa_result_t mraa_intel_edison_gpio_close_pre(mraa_gpio_context dev) { - if (dev->phy_pin >= 0) { - int pin = dev->phy_pin; - if (agpioOutputen[pin]) { - mraa_gpio_close(agpioOutputen[pin]); - agpioOutputen[pin] = NULL; + // check if we own it + if (dev->owner != 0) { + if (dev->phy_pin >= 0) { + int pin = dev->phy_pin; + if (agpioOutputen[pin]) { + mraa_gpio_close(agpioOutputen[pin]); + agpioOutputen[pin] = NULL; + } } } return MRAA_SUCCESS;