Yes!!! the feedback works correctly this way => perfect playback!
what I had to do was: [...] f = combine_quad((u8*)urb->transfer_buffer) & 0x0fffffff; f /= 8; if (f >= subs->freqn - subs->freqn / 8 && f <= subs->freqmax) { spin_lock_irqsave(&subs->lock, flags); subs->freqm = f; [...]
otherwise, the 'if' condition would still not be satisfied. Words can not describe how thankful I am about this one!
Now, is there a way to incorporate this change into the driver without affecting functionality for other usb audio devices?
On Fri, Feb 22, 2008 at 6:31 PM, Clemens Ladisch clemens@ladisch.de wrote:
Adrian Stancu wrote:
According to dmesg, the device is running at high speed: usb 1-6: new high speed USB device using ehci_hcd and address 20
So, if I convert the freq using the high speed formula, I get a value within the acceptable range,
No; the device is high speed, but it sends a full speed feedback value.
Please try "subs->freqm = f / 8;"
The value quoted in your previous message was exactly 48000 Hz; please check if it ever changes.
Regards, Clemens