ALSA: usb-audio: increase control transfer timeout
There are certain devices that are reportedly so slow that they need more than 100 ms to handle control transfers. Therefore, increase the timeout in mixer(_quirks).c to 1000 ms. The timeout parameter of snd_usb_ctl_msg() is now constant, so we can drop it. Reported-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:

committed by
Takashi Iwai

parent
6b69a0e520
commit
17d900c4a1
@@ -296,7 +296,7 @@ static int get_ctl_value_v1(struct usb_mixer_elem_info *cval, int request, int v
|
||||
if (snd_usb_ctl_msg(chip->dev, usb_rcvctrlpipe(chip->dev, 0), request,
|
||||
USB_RECIP_INTERFACE | USB_TYPE_CLASS | USB_DIR_IN,
|
||||
validx, snd_usb_ctrl_intf(chip) | (cval->id << 8),
|
||||
buf, val_len, 100) >= val_len) {
|
||||
buf, val_len) >= val_len) {
|
||||
*value_ret = convert_signed_value(cval, snd_usb_combine_bytes(buf, val_len));
|
||||
snd_usb_autosuspend(cval->mixer->chip);
|
||||
return 0;
|
||||
@@ -333,7 +333,7 @@ static int get_ctl_value_v2(struct usb_mixer_elem_info *cval, int request, int v
|
||||
ret = snd_usb_ctl_msg(chip->dev, usb_rcvctrlpipe(chip->dev, 0), bRequest,
|
||||
USB_RECIP_INTERFACE | USB_TYPE_CLASS | USB_DIR_IN,
|
||||
validx, snd_usb_ctrl_intf(chip) | (cval->id << 8),
|
||||
buf, size, 1000);
|
||||
buf, size);
|
||||
snd_usb_autosuspend(chip);
|
||||
|
||||
if (ret < 0) {
|
||||
@@ -445,7 +445,7 @@ int snd_usb_mixer_set_ctl_value(struct usb_mixer_elem_info *cval,
|
||||
usb_sndctrlpipe(chip->dev, 0), request,
|
||||
USB_RECIP_INTERFACE | USB_TYPE_CLASS | USB_DIR_OUT,
|
||||
validx, snd_usb_ctrl_intf(chip) | (cval->id << 8),
|
||||
buf, val_len, 100) >= 0) {
|
||||
buf, val_len) >= 0) {
|
||||
snd_usb_autosuspend(chip);
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user