347 Commits (3dcae53e38021a61c10de1414195926c339d1c89)

Author SHA1 Message Date
Con Kolivas b1be5c6d12 Different windows+usb combinations respond with varying levels of reliability wrt timeouts so use a nominal extra 40ms before cancelling transfers that fail to time out on their own. 11 years ago
Con Kolivas 21f18956a8 Revert "Use no cancel transfer functions on windows in callback_wait" 11 years ago
Con Kolivas 6bc691adb2 Treat usb write timeout errors as unrecoverable. 11 years ago
Con Kolivas 42b3cf19c4 Transfer errors are filtered out in usbutils now so no need to look for them in NODEV checks. 11 years ago
Con Kolivas e692cd087f Do not double up with checking for end of timeout measurements in usb read/write. 11 years ago
Con Kolivas 8f6acad8ec Use no cancel transfer functions on windows in callback_wait 11 years ago
Con Kolivas f4cf0939a2 Add a wr_trylock wrapper for pthread rw lock write trylock. 11 years ago
Con Kolivas 251e1a98cc Give AMU a much longer timeout on windows than other icarus devices. 11 years ago
Con Kolivas 8b38d7fec8 Use WRITEIOERR macro check for all usb writes. 11 years ago
Con Kolivas 8fb7a0d1be Always use a usb read buffer instead of having to explicitly enable it. 11 years ago
Con Kolivas 310aa75460 Discriminate between libusb transfer errors and regular libusb errors and make sure to capture them all. 11 years ago
Con Kolivas d1683fe6b1 Always read a full sized transfer for bulk reads. 11 years ago
Con Kolivas fc80e2feb6 Deprecate preferred packet size functions in usbutils since they're unhelpful. 11 years ago
Con Kolivas ea12210032 Why are we reading extra again in usb read when buffering is enabled? Don't do that. 11 years ago
Con Kolivas 38d9c24e56 Copy known transferred amount back to buffer for usb reads instead of requested length. 11 years ago
Con Kolivas b5dfb8f03e Ignore preferred packet size. 11 years ago
Con Kolivas 0cceaccf75 Treat timeout errors on usb writes as IO errors. 11 years ago
Con Kolivas dfba30b9f2 Ignore iManufacturer from bitfury devices to support bluefury as well as redfury. 11 years ago
Con Kolivas 95797821b4 Add more debugging info for when usb details don't match. 11 years ago
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
Con Kolivas efc605ffd3 Ignore iManufacturer from bitfury devices to support bluefury as well as redfury. 11 years ago
Con Kolivas ef0b7d3b5b Add more debugging info for when usb details don't match. 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