Con Kolivas
|
73f6a570f3
|
Look for timeout overruns in usb read/write.
|
11 years ago |
Con Kolivas
|
ccb742399f
|
Use an int for usb_read/write to identify overruns.
|
11 years ago |
Con Kolivas
|
1f22746243
|
Use the callback timeout as a safety mechanism only on windows.
|
11 years ago |
Con Kolivas
|
4c0b643864
|
Instead of using complicated sleeps to emulate characters per second on usb writes, submit only as many characters as can be transferred per usb poll of 1ms, and use timeouts in bulk transfers, cancelling transfers only as a failsafe.
|
11 years ago |
Kano
|
5bd1b560ac
|
usbutils - usb_nodev() allow a driver to drop a device
|
11 years ago |
Con Kolivas
|
a821df6a27
|
Correctly calculate sleep_estimate in usbutils that may have been preventing usecps from working.
|
11 years ago |
Con Kolivas
|
691a681f7e
|
Remove inappropriate extra locking in _usb_transfer_read
|
11 years ago |
Con Kolivas
|
0657b64e38
|
Only set libusb cancellable status if the transfer succeeds.
|
11 years ago |
Con Kolivas
|
0da551fac1
|
Use a linked list for all usb transfers instead of just cancellable ones.
|
11 years ago |
Con Kolivas
|
7b5884caa5
|
Add cancellable transfers correctly to the ct_list
|
11 years ago |
Con Kolivas
|
9d8e3df0a8
|
Add usb transfer cancellation on shutdown and documentation regarding where cancellable transfers are suitable.
|
11 years ago |
Con Kolivas
|
d2feacdfb2
|
Cancel cancellable usb transfers on work restart messages.
|
11 years ago |
Con Kolivas
|
51660838da
|
Don't bother having a separate cancellable transfer struct for usb transfers, simply include the list in the usb_transfer struct.
|
11 years ago |
Con Kolivas
|
c96f096577
|
Add wrappers for usb_read_cancellable and usb_read_timeout_cancellable
|
11 years ago |
Con Kolivas
|
c2c6987784
|
Specifically set the cancellable state for it to not be uninitialised in the usb transfer struct.
|
11 years ago |
Con Kolivas
|
b52bb5c9e2
|
Alter the usb cancellable list only under cgusb_fd_lock write lock.
|
11 years ago |
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.
|
11 years ago |
Con Kolivas
|
2b075cccbf
|
Create a linked list of potentially cancellable usb transfers.
|
11 years ago |
Con Kolivas
|
824aa5cb51
|
Keep a global counter of how many async usb transfers are in place.
|
11 years ago |
Con Kolivas
|
856471e392
|
Perform libusb_submit_transfer under the write variant of cgusb_fd_lock
|
11 years ago |
Con Kolivas
|
269a145a70
|
Add usb command name to critical libusb error reporting.
|
11 years ago |
Con Kolivas
|
44cc52c3d0
|
Drop usb buffering message to debug logging level.
|
11 years ago |
Con Kolivas
|
6493b976d3
|
Drop usb buffering message to debug logging level.
|
11 years ago |
Con Kolivas
|
eed0afcd04
|
Convert libusb transfer errors to regular libusb error messages to allow for accurate message reporting.
|
11 years ago |
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.
|
11 years ago |
Con Kolivas
|
8e9f32a81b
|
Add a forcelog variant of applog which invalidates any console lock to force output.
|
11 years ago |
Con Kolivas
|
789d448e84
|
Perform sync transfers on shutdown to allow final transfers to complete.
|
11 years ago |
Con Kolivas
|
ad8d94979f
|
Destroy cgsems used after transfers to not leave open files on osx.
|
11 years ago |
Con Kolivas
|
103bc0bafe
|
Revert to using timeouts on !linux since libusb leaks memory without them.
|
11 years ago |
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.
|
11 years ago |
Con Kolivas
|
4e5946d2ba
|
Prevent further USB transfers from occurring once the shutdown signal has been sent to prevent transfers getting stuck and libusb failing to shut down.
|
11 years ago |
Con Kolivas
|
7c6bd4a8fb
|
Emulate the libusb_control_transfer sync setup in our async variant.
|
11 years ago |
Con Kolivas
|
e6280c85d2
|
Add the libusb control setup size offset for control writes.
|
11 years ago |
Con Kolivas
|
8fdaeb0ac9
|
Differentiate send from receive in control transfers!
|
11 years ago |
Kano
|
108e73763b
|
usbutils - make all libusb_error_name messages the same
|
11 years ago |
Con Kolivas
|
02a4f8df9c
|
Convert the usb callback function to using cgsem_t timed waits to avoid race conditions with conditionals/mutexes.
|
11 years ago |
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.
|
11 years ago |
Con Kolivas
|
433465bcfc
|
Convert the usb callback function to use a cgsem_t using the timedwait code to avoid races with mutexes/conditionals.
|
11 years ago |
Con Kolivas
|
9ca22ed493
|
Use the one LIBUSB_ERROR_TIMEOUT for cancelled transactions since this error is explicitly tested for in various drivers.
|
11 years ago |
Con Kolivas
|
a7580f1ff2
|
Do not use locking on usb callback function pthread signalling to prevent deadlock with libusb's own event lock.
|
11 years ago |
Con Kolivas
|
8d1604a2e3
|
Do not use locking on usb callback function pthread signalling to prevent deadlock with libusb's own event lock.
|
11 years ago |
Con Kolivas
|
280dc4bf01
|
Lock mutex before second pthread_cond_wait in usbutils to prevent a race.
|
11 years ago |
Con Kolivas
|
176cae2700
|
Add basic definitions for hashfast device recognition.
|
11 years ago |
Con Kolivas
|
84de52c1c6
|
Use a write lock when performing any USB control transfers to prevent concurrent transfers.
|
11 years ago |
Con Kolivas
|
c069028648
|
Free a libusb transfer after we have finished using it to avoid a dereference in usb_control_transfer
|
11 years ago |
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.
|
11 years ago |
Con Kolivas
|
2ca8d85906
|
Convert all usb control transfers to asynchronous communication with our own timeout management as well.
|
11 years ago |
Con Kolivas
|
b537976036
|
Make pthread conditional timeouts handle all bulk usb transfer timeouts performing libusb_cancel_transfer, disabling timeouts within libusb itself.
|
11 years ago |
Chris Chua
|
b509e84376
|
using separate identifier for bitburner fury boards
|
11 years ago |
Con Kolivas
|
03ad59f287
|
Add a small amount to the usb timeout before cancelling to allow for a regular usb polling interval to pass.
|
11 years ago |