|
|
@@ -1,4 +1,55 @@
|
|
|
-
|
|
|
+- hexstr is too small in test_work_current
|
|
|
+- Windows uses errno for WSAETIMEDOUT
|
|
|
+- Convert the usb callback function to using cgsem_t timed waits to avoid race
|
|
|
+conditions with conditionals/mutexes.
|
|
|
+- Give correct return code in cgsem_mswait
|
|
|
+- Check for correct timeout error in cgsem_mswait
|
|
|
+- Fix util.h exports for cgsem_mswait
|
|
|
+- Implement a generic cgsem_mswait similar to sem_timedwait
|
|
|
+- Use the one LIBUSB_ERROR_TIMEOUT for cancelled transactions since this error
|
|
|
+is explicitly tested for in various drivers.
|
|
|
+- Do not use locking on usb callback function pthread signalling to prevent
|
|
|
+deadlock with libusb's own event lock.
|
|
|
+- Use a write lock when performing any USB control transfers to prevent
|
|
|
+concurrent transfers.
|
|
|
+- Free a libusb transfer after we have finished using it to avoid a dereference
|
|
|
+in usb_control_transfer
|
|
|
+- Do not perform bfi int patching for opencl1.2 or later.
|
|
|
+- Although async transfers are meant to use heap memory, we never return before
|
|
|
+the transfer function has completed so stack memory will suffice for control
|
|
|
+transfers, fixing a memory leak in the process.
|
|
|
+- klondike - correct/reverse min/max stats
|
|
|
+- api incorrect message name
|
|
|
+- klondike - use a link list queue rather than a circular buffer - and add
|
|
|
+timing stats
|
|
|
+- Use a timeout with usb handle events set to a nominal 200ms and wait for the
|
|
|
+polling thread to shut down before deinitialising libusb.
|
|
|
+- Use stack memory for hex used in stratum share submissions.
|
|
|
+- Use stack memory in test_work_current, avoiding a malloc/free cycle each time.
|
|
|
+- Provide a lower level __bin2hex function that does not allocate memory itself.
|
|
|
+- Convert the bitfury driver to use the hash_driver_work version of hash_work.
|
|
|
+- Add a hash_driver_work function to allow for drivers that wish to do their own
|
|
|
+work queueing and management.
|
|
|
+- Convert all usb control transfers to asynchronous communication with our own
|
|
|
+timeout management as well.
|
|
|
+- Klondike - increase circular read buffer size
|
|
|
+- Klondike - extra zero value and range checking in temp conversion
|
|
|
+- klondike - display MHz also
|
|
|
+- Make pthread conditional timeouts handle all bulk usb transfer timeouts
|
|
|
+performing libusb_cancel_transfer, disabling timeouts within libusb itself.
|
|
|
+- Avoid calling get_statline_before on exit to avoid trying to use it on drivers
|
|
|
+in an indeterminate state.
|
|
|
+- Avoid calling get_statline on exit.
|
|
|
+- Add a small amount to the usb timeout before cancelling to allow for a regular
|
|
|
+usb polling interval to pass.
|
|
|
+- Do not attempt to clear a usb halt before sending the cancel message since all
|
|
|
+transfers should normally be cancelled before attempting to clear a halt
|
|
|
+condition, and only change the return message to a timeout if it's consistent
|
|
|
+with a cancellation.
|
|
|
+- Retry up to USB_RETRY_MAX times to clear a halt condition before failing.
|
|
|
+- Show the error number as well as the description in erroring bulk transfers.
|
|
|
+- Drop logging level for failed to connect to stratum to verbose mode only since
|
|
|
+we hit it regularly.
|
|
|
- We are always dependent on libusb handling events so use the blocking
|
|
|
libusb_handle_events in the polling thread and use a bool to know if we should
|
|
|
continue polling.
|