added error handling
diff --git a/objects/power_control_obj.c b/objects/power_control_obj.c
index 9291345..d5fe7ab 100644
--- a/objects/power_control_obj.c
+++ b/objects/power_control_obj.c
@@ -34,8 +34,13 @@
 	control_emit_heartbeat(control,dbus_name);
 	const gchar* obj_path = g_dbus_object_get_object_path((GDBusObject*)user_data);
 
-	guint pgood_timeout = control_power_get_pgood_timeout(control_power)/
-		control_get_poll_interval(control);
+	guint poll_int = control_get_poll_interval(control);
+	if (poll_int == 0)
+	{
+		event_log_emit_event_log(event_log, LOG_ALERT, "Poll interval cannot be 0");
+		return FALSE;
+	}
+	guint pgood_timeout = control_power_get_pgood_timeout(control_power)/poll_int;
 
 	if (pgood_timeout_count > pgood_timeout)
 	{
@@ -75,7 +80,7 @@
 		}
 	} else {
 		event_log_emit_event_log(event_log, LOG_ALERT, "GPIO read error");
-		return FALSE;
+		//return FALSE;
 	}
 	//pgood is not at desired state yet
 	if (gpio != control_power_get_state(control_power) &&