There is some racy condition where multiple bytes can cause a deadlock.
Until this is figured out, limit the FIFO to 1 byte.
Signed-off-by: Sean Cross <xobs@kosagi.com>
It's unclear whether this refactor improves things at all, but it's
still limited to 32-byte buffers. Still, it results in less code,
which seems like a good thing.
Signed-off-by: Sean Cross <xobs@kosagi.com>
We now use 32 bytes of the USB FIFO to increase performance with bulk
operations.
There may still be issues lurking, and 64-bytes causes issues, but so
far I've been able to read the entire SPI in 30 seconds, and it validates.
Signed-off-by: Sean Cross <xobs@kosagi.com>
Due to a typo, USB receive was unreliable. This patch corrects a typo
that was causing USB receive to fail on certain devices.
Signed-off-by: Sean Cross <xobs@kosagi.com>
The USB device was triggering bugs in the Linux USB stack. Possibly
a queueing issue, I'm not sure. The end result was corruption in audio
playback, probably due to DMA timing issues.
Signed-off-by: Sean Cross <xobs@kosagi.com>