Browse Source

icarus ensure all cmr interfaces are initialised properly

nfactor-troky
Kano 11 years ago
parent
commit
f9476743c2
  1. 19
      driver-icarus.c

19
driver-icarus.c

@ -297,7 +297,7 @@ static void icarus_initialise(struct cgpu_info *icarus, int baud)
return; return;
// Latency // Latency
usb_ftdi_set_latency(icarus); _usb_ftdi_set_latency(icarus, info->intinfo);
if (icarus->usbinfo.nodev) if (icarus->usbinfo.nodev)
return; return;
@ -890,13 +890,6 @@ static bool icarus_detect_one(struct libusb_device *dev, struct usb_find_devices
cgtmp->usbinfo.usbstat = USB_NOSTAT; cgtmp->usbinfo.usbstat = USB_NOSTAT;
if (!add_cgpu(cgtmp)) {
usb_uninit(cgtmp);
continue;
}
update_usb_stats(cgtmp);
intmp = (struct ICARUS_INFO *)malloc(sizeof(struct ICARUS_INFO)); intmp = (struct ICARUS_INFO *)malloc(sizeof(struct ICARUS_INFO));
if (unlikely(!intmp)) if (unlikely(!intmp))
quit(1, "Failed2 to malloc ICARUS_INFO"); quit(1, "Failed2 to malloc ICARUS_INFO");
@ -907,6 +900,16 @@ static bool icarus_detect_one(struct libusb_device *dev, struct usb_find_devices
memcpy(intmp, info, sizeof(struct ICARUS_INFO)); memcpy(intmp, info, sizeof(struct ICARUS_INFO));
intmp->intinfo = i; intmp->intinfo = i;
icarus_initialise(cgtmp, baud);
if (!add_cgpu(cgtmp)) {
usb_uninit(cgtmp);
free(intmp);
continue;
}
update_usb_stats(cgtmp);
} }
} }

Loading…
Cancel
Save