• Takashi Iwai's avatar
    ALSA: pcm: One more dependency for hw constraints · 23b53d44
    Takashi Iwai authored
    The fix for a long-standing USB-audio bug required one more dependency
    variable to be added to the hw constraints.  Unfortunately I didn't
    realize at debugging that the new addition may result in the overflow
    of the dependency array of each snd_pcm_hw_rule (up to three plus a
    sentinel), because USB-audio driver adds one more dependency only for
    a certain device and bus, hence it works as is for many devices.  But
    in a bad case, a simple open always results in -EINVAL (with kernel
    WARNING if CONFIG_SND_DEBUG is set) no matter what is passed.
    
    Since the dependencies are real and unavoidable (USB-audio restricts
    the hw_params per looping over the format/rate/channels combos), the
    only good solution seems to raise the bar for one more dependency for
    snd_pcm_hw_rule -- so does this patch: now the hw constraint
    dependencies can be up to four.
    
    Fixes: 506c203c ("ALSA: usb-audio: Fix hw constraints dependencies")
    Reported-by: default avatarJamie Heilman <jamie@audible.transient.net>
    Link: https://lore.kernel.org/r/20210123155730.22576-1-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    23b53d44
pcm.h 50.3 KB