• Daniel Mack's avatar
    ALSA: snd-usb: Add quirks for Playback Designs devices · 2b58fd5b
    Daniel Mack authored
    Playback Designs' USB devices have some hardware limitations on their
    USB interface. In particular:
    
     - They need a 20ms delay after each class compliant request as the
       hardware ACKs the USB packets before the device is actually ready
       for the next command. Sending data immediately will result in buffer
       overflows in the hardware.
     - The devices send bogus feedback data at the start of each stream
       which confuse the feedback format auto-detection.
    
    This patch introduces a new quirks hook that is called after each
    control packet and which adds a delay for all devices that match
    Playback Designs' USB VID for now.
    
    In addition, it adds a counter to snd_usb_endpoint to drop received
    packets on the floor. Another new quirks function that is called once
    an endpoint is started initializes that counter for these devices on
    their sync endpoint.
    Signed-off-by: default avatarDaniel Mack <zonque@gmail.com>
    Reported-and-tested-by: default avatarAndreas Koch <andreas@akdesigninc.com>
    Supported-by: default avatarDemian Martin <demianm_1@yahoo.com>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    2b58fd5b
quirks.c 23 KB