[PATCH v2 0/2] snd-usb-6fire: firmware load and pulseaudio assumption

René Herman
2020-07-21T10:00:06Z

Hi Takashi.

v2 of the earlier today sent out "set" for snd-usb-6fire, although now
only two patches left, incorportaing the requested changes.

The snd-usb-6fire driver for the TerraTec DMX 6Fire USB soundcard has
been failing its firmware upload due to a non DMA-capable buffer on the
stack. First of the patches kmallocs said bufffer instead and fixes the
firmware upload; also makes it more alsa-generic by using the "goto out"
structure. Note that it only looks a bit ungeneric as a patch due to
also needing to at the same time unify its failure path: it's obvious
when looked at post-apply.

After that first patch the driver nominally works again but still has
Pulseaudio crap out due to struct snd_pcm_hardware.channels_min=1
causing it to recognize it as a mono device only. Comparing with e.g.
the TerraTec Aureon 7.1 Universe driver it seems that the solution is to
simply set channels_min=2 as per the second patch.

With these changes the card works again. Driver author Torsten Schenk
has seen these and is fine with them: maintains an external driver with
more options. I or he might time permitting start integrating more into
the kernel driver over time.

Regards,
René

René Herman (2):
Move DMA-buffer off the stack
Pulseaudio needs snd_pcm_hardware.channels_min > 1

sound/usb/6fire/firmware.c | 95 ++++++++++++++++++--------------------
sound/usb/6fire/pcm.c | 2 +-
2 files changed, 47 insertions(+), 50 deletions(-)

--
2.17.1