Cold plug only one hashfast device to get started, and then hotplug many to minimise startup delays and possible communication delays causing failed first starts.
diff --git a/driver-hashfast.c b/driver-hashfast.c
index b834275..d92c045 100644
--- a/driver-hashfast.c
+++ b/driver-hashfast.c
@@ -794,12 +794,15 @@ static struct cgpu_info *hfa_detect_one(libusb_device *dev, struct usb_find_devi
return hashfast;
}
-static void hfa_detect(bool __maybe_unused hotplug)
+static void hfa_detect(bool hotplug)
{
/* Set up the CRC tables only once. */
if (!hfa_crc8_set)
hfa_init_crc8();
- usb_detect(&hashfast_drv, hfa_detect_one);
+ if (!hotplug)
+ usb_detect_one(&hashfast_drv, hfa_detect_one);
+ else
+ usb_detect(&hashfast_drv, hfa_detect_one);
}
static bool hfa_get_packet(struct cgpu_info *hashfast, struct hf_header *h)