Commit 1f74b2cdc4d630d678f12d55b2153145e699c97a

Con Kolivas 2013-09-27T10:50:33

Perform interrupt read flush as per serial open on BF1 devices.

diff --git a/driver-bitfury.c b/driver-bitfury.c
index 5952501..5cd83a2 100644
--- a/driver-bitfury.c
+++ b/driver-bitfury.c
@@ -29,6 +29,10 @@ static void bitfury_empty_buffer(struct cgpu_info *bitfury)
 
 static void bitfury_open(struct cgpu_info *bitfury)
 {
+	char buf[8];
+	int amount;
+
+	usb_read_ii(bitfury, 0, buf, 8, &amount, C_BF1_IFLUSH);
 	/* Magic open sequence */
 	usb_transfer(bitfury, 0x21, 0x22, 0x0003, 0, C_BF1_OPEN);
 	bitfury_empty_buffer(bitfury);
diff --git a/usbutils.h b/usbutils.h
index d8bb648..5566d14 100644
--- a/usbutils.h
+++ b/usbutils.h
@@ -335,6 +335,7 @@ struct cg_usb_info {
 	USB_ADD_COMMAND(C_BF1_GETWORK, "BF1GetWork") \
 	USB_ADD_COMMAND(C_BF1_GETRES, "BF1GetResults") \
 	USB_ADD_COMMAND(C_BF1_FLUSH, "BF1Flush") \
+	USB_ADD_COMMAND(C_BF1_IFLUSH, "BF1InterruptFlush") \
 	USB_ADD_COMMAND(C_BF1_IDENTIFY, "BF1Identify")
 
 /* Create usb_cmds enum from USB_PARSE_COMMANDS macro */