1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-09 22:38:01 +00:00
Commit Graph

304 Commits

Author SHA1 Message Date
Kano
5bd1b560ac usbutils - usb_nodev() allow a driver to drop a device 2013-10-28 07:41:15 +11:00
Con Kolivas
a821df6a27 Correctly calculate sleep_estimate in usbutils that may have been preventing usecps from working. 2013-10-27 13:41:50 +11:00
Con Kolivas
691a681f7e Remove inappropriate extra locking in _usb_transfer_read 2013-10-26 20:24:51 +11:00
Con Kolivas
0657b64e38 Only set libusb cancellable status if the transfer succeeds. 2013-10-25 13:36:52 +11:00
Con Kolivas
0da551fac1 Use a linked list for all usb transfers instead of just cancellable ones. 2013-10-25 12:30:39 +11:00
Con Kolivas
7b5884caa5 Add cancellable transfers correctly to the ct_list 2013-10-25 08:43:55 +11:00
Con Kolivas
9d8e3df0a8 Add usb transfer cancellation on shutdown and documentation regarding where cancellable transfers are suitable. 2013-10-25 04:07:09 +11:00
Con Kolivas
d2feacdfb2 Cancel cancellable usb transfers on work restart messages. 2013-10-24 22:26:13 +11:00
Con Kolivas
51660838da Don't bother having a separate cancellable transfer struct for usb transfers, simply include the list in the usb_transfer struct. 2013-10-24 21:58:25 +11:00
Con Kolivas
c96f096577 Add wrappers for usb_read_cancellable and usb_read_timeout_cancellable 2013-10-24 21:54:35 +11:00
Con Kolivas
c2c6987784 Specifically set the cancellable state for it to not be uninitialised in the usb transfer struct. 2013-10-24 21:52:50 +11:00
Con Kolivas
b52bb5c9e2 Alter the usb cancellable list only under cgusb_fd_lock write lock. 2013-10-24 21:50:52 +11:00
Con Kolivas
19ec360f7c Pass the cancellable option to _usb_read options to decide on whether to add usb transfers to the list of cancellable transfers. 2013-10-24 21:45:41 +11:00
Con Kolivas
2b075cccbf Create a linked list of potentially cancellable usb transfers. 2013-10-24 21:42:04 +11:00
Con Kolivas
824aa5cb51 Keep a global counter of how many async usb transfers are in place. 2013-10-24 20:36:53 +11:00
Con Kolivas
856471e392 Perform libusb_submit_transfer under the write variant of cgusb_fd_lock 2013-10-24 20:32:17 +11:00
Con Kolivas
269a145a70 Add usb command name to critical libusb error reporting. 2013-10-23 10:45:22 +11:00
Con Kolivas
44cc52c3d0 Drop usb buffering message to debug logging level. 2013-10-21 12:19:11 +11:00
Con Kolivas
eed0afcd04 Convert libusb transfer errors to regular libusb error messages to allow for accurate message reporting. 2013-10-19 13:29:59 +11:00
Con Kolivas
d77f367279 Fixing the memory leak for remaining semaphores means we can go back to using async transfers on other OSes with our own timeout management again. 2013-10-18 23:42:02 +11:00
Con Kolivas
8e9f32a81b Add a forcelog variant of applog which invalidates any console lock to force output. 2013-10-18 23:30:05 +11:00
Con Kolivas
789d448e84 Perform sync transfers on shutdown to allow final transfers to complete. 2013-10-18 07:05:35 +11:00
Con Kolivas
ad8d94979f Destroy cgsems used after transfers to not leave open files on osx. 2013-10-18 06:55:30 +11:00
Con Kolivas
103bc0bafe Revert to using timeouts on !linux since libusb leaks memory without them. 2013-10-17 18:52:07 +11:00
Con Kolivas
955e971d3d Prevent further USB transfers from occurring once the shutdown signal has been sent to prevent transfers getting stuck and libusb failing to shut down. 2013-10-17 08:29:02 +11:00
Con Kolivas
7c6bd4a8fb Emulate the libusb_control_transfer sync setup in our async variant. 2013-10-15 00:26:50 +11:00
Con Kolivas
e6280c85d2 Add the libusb control setup size offset for control writes. 2013-10-15 00:13:06 +11:00
Con Kolivas
91d1d104d1 Merge branch 'master' of github.com:ckolivas/cgminer 2013-10-15 00:00:00 +11:00
Con Kolivas
8fdaeb0ac9 Differentiate send from receive in control transfers! 2013-10-14 23:59:01 +11:00
kanoi
bae0815edf Merge pull request #505 from kanoi/master
usbutils - make all libusb_error_name messages the same
2013-10-14 03:45:44 -07:00
Kano
108e73763b usbutils - make all libusb_error_name messages the same 2013-10-14 21:44:10 +11:00
Con Kolivas
9e287f9598 Merge pull request #499 from someone42/master
changes to bitburner driver for bitburner fury boards
2013-10-14 03:27:57 -07:00
Con Kolivas
02a4f8df9c Convert the usb callback function to using cgsem_t timed waits to avoid race conditions with conditionals/mutexes. 2013-10-14 11:44:37 +11:00
Con Kolivas
1d9f90b256 Revert "Convert the usb callback function to use a cgsem_t using the timedwait code to avoid races with mutexes/conditionals."
This reverts commit 433465bcfc.

Not ready yet.
2013-10-14 11:39:15 +11:00
Con Kolivas
433465bcfc Convert the usb callback function to use a cgsem_t using the timedwait code to avoid races with mutexes/conditionals. 2013-10-14 11:35:47 +11:00
Con Kolivas
9ca22ed493 Use the one LIBUSB_ERROR_TIMEOUT for cancelled transactions since this error is explicitly tested for in various drivers. 2013-10-14 10:05:49 +11:00
Con Kolivas
a7580f1ff2 Do not use locking on usb callback function pthread signalling to prevent deadlock with libusb's own event lock. 2013-10-14 09:41:18 +11:00
Con Kolivas
280dc4bf01 Lock mutex before second pthread_cond_wait in usbutils to prevent a race. 2013-10-14 00:54:05 +11:00
Con Kolivas
84de52c1c6 Use a write lock when performing any USB control transfers to prevent concurrent transfers. 2013-10-13 10:11:46 +11:00
Con Kolivas
c069028648 Free a libusb transfer after we have finished using it to avoid a dereference in usb_control_transfer 2013-10-12 17:44:28 +11:00
Con Kolivas
84f642f563 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. 2013-10-12 15:06:48 +11:00
Con Kolivas
2ca8d85906 Convert all usb control transfers to asynchronous communication with our own timeout management as well. 2013-10-12 08:45:03 +11:00
Con Kolivas
b537976036 Make pthread conditional timeouts handle all bulk usb transfer timeouts performing libusb_cancel_transfer, disabling timeouts within libusb itself. 2013-10-11 23:06:40 +11:00
Chris Chua
b509e84376 using separate identifier for bitburner fury boards 2013-10-11 21:14:59 +11:00
Con Kolivas
03ad59f287 Add a small amount to the usb timeout before cancelling to allow for a regular usb polling interval to pass. 2013-10-11 15:37:55 +11:00
Con Kolivas
08d8612f68 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. 2013-10-11 14:47:01 +11:00
Con Kolivas
6d18ce4caa Retry up to USB_RETRY_MAX times to clear a halt condition before failing. 2013-10-11 14:37:40 +11:00
Con Kolivas
3a7a677f45 Show the error number as well as the description in erroring bulk transfers. 2013-10-11 13:43:16 +11:00
Con Kolivas
b5dfacef24 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. 2013-10-11 10:15:06 +11:00
Con Kolivas
853aa28ffc Merge branch 'master' into async
Conflicts:
	usbutils.c
2013-10-11 08:49:59 +11:00