Commit e7c6377
ALSA: scarlett2: Add retry on -EPROTO from scarlett2_usb_tx()
commit 8a15ca0 upstream.
During communication with Focusrite Scarlett Gen 2/3/4 USB audio
interfaces, -EPROTO is sometimes returned from scarlett2_usb_tx(),
snd_usb_ctl_msg() which can cause initialisation and control
operations to fail intermittently.
This patch adds up to 5 retries in scarlett2_usb(), with a delay
starting at 5ms and doubling each time. This follows the same approach
as the fix for usb_set_interface() in endpoint.c (commit f406005
("ALSA: usb-audio: Add retry on -EPROTO from usb_set_interface()")),
which resolved similar -EPROTO issues during device initialisation,
and is the same approach as in fcp.c:fcp_usb().
Fixes: 9e4d5c1 ("ALSA: usb-audio: Scarlett Gen 2 mixer interface")
Closes: geoffreybennett/linux-fcp#41
Cc: [email protected]
Signed-off-by: Geoffrey D. Bennett <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>1 parent 3d0129b commit e7c6377
1 file changed
Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2351 | 2351 | | |
2352 | 2352 | | |
2353 | 2353 | | |
| 2354 | + | |
| 2355 | + | |
2354 | 2356 | | |
2355 | 2357 | | |
2356 | 2358 | | |
| |||
2374 | 2376 | | |
2375 | 2377 | | |
2376 | 2378 | | |
| 2379 | + | |
2377 | 2380 | | |
2378 | 2381 | | |
2379 | 2382 | | |
2380 | 2383 | | |
| 2384 | + | |
| 2385 | + | |
| 2386 | + | |
| 2387 | + | |
2381 | 2388 | | |
2382 | 2389 | | |
2383 | 2390 | | |
| |||
0 commit comments