• Takashi Iwai's avatar
    ALSA: usb-audio: Always apply the hw constraints for implicit fb sync · e4ea77f8
    Takashi Iwai authored
    Since the commit 5a6c3e11 ("ALSA: usb-audio: Add hw constraint for
    implicit fb sync"), we apply the hw constraints for the implicit
    feedback sync to make the secondary open aligned with the already
    opened stream setup.  This change assumed that the secondary open is
    performed after the first stream has been already set up, and adds the
    hw constraints to sync with the first stream's parameters only when
    the EP setup for the first stream was confirmed at the open time.
    However, most of applications handling the full-duplex operations do
    open both playback and capture streams at first, then set up both
    streams.  This results in skipping the additional hw constraints since
    the counter-part stream hasn't been set up yet at the open of the
    second stream, and it eventually leads to "incompatible EP" error in
    the end.
    
    This patch corrects the behavior by always applying the hw constraints
    for the implicit fb sync.  The hw constraint rules are defined so that
    they check the sync EP dynamically at each invocation, instead.  This
    covers the concurrent stream setups better and lets the hw refine
    calls resolving to the right configuration.
    
    Also this patch corrects a minor error that has existed in the debug
    print that isn't built as default.
    
    Fixes: 5a6c3e11 ("ALSA: usb-audio: Add hw constraint for implicit fb sync")
    Link: https://lore.kernel.org/r/20210111081611.12790-1-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    e4ea77f8
pcm.c 43.1 KB