added error logging
diff --git a/includes/gpio.c b/includes/gpio.c
index 4b22f89..992745f 100644
--- a/includes/gpio.c
+++ b/includes/gpio.c
@@ -43,18 +43,26 @@
 {
 	char buf[1];
 	int r = GPIO_OK;
-	if (read(gpio->fd,&buf,1) != 1)
+	if (gpio->fd <= 0)
 	{
-		r = GPIO_READ_ERROR;
-	} else {
-		if (buf[0]=='1') {
-			*value = 1;
+		r = GPIO_ERROR;	
+	}
+	else
+	{
+		if (read(gpio->fd,&buf,1) != 1)
+		{
+			g_print("here1\n");
+			r = GPIO_READ_ERROR;
 		} else {
-			*value = 0;
+			g_print("here2\n");
+			if (buf[0]=='1') {
+				*value = 1;
+			} else {
+				*value = 0;
+			}
 		}
 	}
 	return r;
-
 }
 int gpio_clock_cycle(GPIO* gpio, int num_clks) {
         int i=0;
diff --git a/includes/openbmc.h b/includes/openbmc.h
index 5ae0ede..bb6660b 100644
--- a/includes/openbmc.h
+++ b/includes/openbmc.h
@@ -13,6 +13,8 @@
 #define NEW_VARIANT_B(v)       g_variant_new_variant(g_variant_new_byte(v)) 
 #define VARIANT_COMPARE(x,y)   g_variant_compare(GET_VARIANT(x),GET_VARIANT(y))
 
+
+
 #ifdef __arm__
 static inline void write_reg(uint32_t val,void* addr)
 {