From 7ac52637659b7f17ab5139010f0436aefcf9625c Mon Sep 17 00:00:00 2001 From: Etienne Dechamps Date: Sat, 6 Sep 2014 10:43:15 +0100 Subject: [PATCH] Don't enable the device if the reachable count is zero. A logic bug was introduced in bd451cfe1512fa69eac35a60dbe6df17bfc39154 in which running graph() several times with zero reachable nodes had the effect of calling device_enable() (instead of keeping the device disabled). This results in weird behavior when DeviceStandby is enabled, especially on Windows where calling device_enable() several times in a row corrupts I/O structures for the device, rendering it unusable. --- src/graph.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/graph.c b/src/graph.c index 8f601c21..690f4bd5 100644 --- a/src/graph.c +++ b/src/graph.c @@ -292,7 +292,7 @@ static void check_reachability(void) { if (device_standby) { if (reachable_count == 0 && became_unreachable_count > 0) device_disable(); - else if (reachable_count == became_reachable_count) + else if (reachable_count > 0 && reachable_count == became_reachable_count) device_enable(); } } -- 2.20.1