Hi,
I have finally found the issue with distorted bluetooth SCO output. It's not a kernel issue at all!
The closed-source Motorola audio-blob is returning wrong values when sending speech to bluetooth-devices, causing the rest of the system to freak out. CM actually uses the return-value to determine if everything has been correctly played back, which cannot work if the value is wrong.
I have now wrapped the binary blob and modify the return value if this happens:
http://review.cyanogenmod.org/#/c/63328/
Please grab the wrapper for your phone from:
http://droid.cs.fau.de/cm-11.0/test/audio/
Copy it to /system/lib/hw/ (permissions 644, -rw-r--r--, root:root) and reboot the device. After that it should work.
If anything goes wrong just delete the file again or reflash your current ROM.
Please reply if it does, so I know it's safe to push the publish-button to get that into the CM builds.
Regards,
Michael