ALSA: line6: Fix POD HD500 audio playback
Apparently interface 1 is control interface akin to HD500X, setting LINE6_CAP_CONTROL and choosing it as ctrl_if fixes audio playback on POD HD500. Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Cc: <stable@vger.kernel.org> Link: https://lore.kernel.org/r/20200425201115.3430-1-anarsoul@gmail.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
4b63340b9b
commit
cc18b2f4f3
|
@ -21,8 +21,7 @@
|
||||||
enum {
|
enum {
|
||||||
LINE6_PODHD300,
|
LINE6_PODHD300,
|
||||||
LINE6_PODHD400,
|
LINE6_PODHD400,
|
||||||
LINE6_PODHD500_0,
|
LINE6_PODHD500,
|
||||||
LINE6_PODHD500_1,
|
|
||||||
LINE6_PODX3,
|
LINE6_PODX3,
|
||||||
LINE6_PODX3LIVE,
|
LINE6_PODX3LIVE,
|
||||||
LINE6_PODHD500X,
|
LINE6_PODHD500X,
|
||||||
|
@ -318,8 +317,7 @@ static const struct usb_device_id podhd_id_table[] = {
|
||||||
/* TODO: no need to alloc data interfaces when only audio is used */
|
/* TODO: no need to alloc data interfaces when only audio is used */
|
||||||
{ LINE6_DEVICE(0x5057), .driver_info = LINE6_PODHD300 },
|
{ LINE6_DEVICE(0x5057), .driver_info = LINE6_PODHD300 },
|
||||||
{ LINE6_DEVICE(0x5058), .driver_info = LINE6_PODHD400 },
|
{ LINE6_DEVICE(0x5058), .driver_info = LINE6_PODHD400 },
|
||||||
{ LINE6_IF_NUM(0x414D, 0), .driver_info = LINE6_PODHD500_0 },
|
{ LINE6_IF_NUM(0x414D, 0), .driver_info = LINE6_PODHD500 },
|
||||||
{ LINE6_IF_NUM(0x414D, 1), .driver_info = LINE6_PODHD500_1 },
|
|
||||||
{ LINE6_IF_NUM(0x414A, 0), .driver_info = LINE6_PODX3 },
|
{ LINE6_IF_NUM(0x414A, 0), .driver_info = LINE6_PODX3 },
|
||||||
{ LINE6_IF_NUM(0x414B, 0), .driver_info = LINE6_PODX3LIVE },
|
{ LINE6_IF_NUM(0x414B, 0), .driver_info = LINE6_PODX3LIVE },
|
||||||
{ LINE6_IF_NUM(0x4159, 0), .driver_info = LINE6_PODHD500X },
|
{ LINE6_IF_NUM(0x4159, 0), .driver_info = LINE6_PODHD500X },
|
||||||
|
@ -352,23 +350,13 @@ static const struct line6_properties podhd_properties_table[] = {
|
||||||
.ep_audio_r = 0x82,
|
.ep_audio_r = 0x82,
|
||||||
.ep_audio_w = 0x01,
|
.ep_audio_w = 0x01,
|
||||||
},
|
},
|
||||||
[LINE6_PODHD500_0] = {
|
[LINE6_PODHD500] = {
|
||||||
.id = "PODHD500",
|
.id = "PODHD500",
|
||||||
.name = "POD HD500",
|
.name = "POD HD500",
|
||||||
.capabilities = LINE6_CAP_PCM
|
.capabilities = LINE6_CAP_PCM | LINE6_CAP_CONTROL
|
||||||
| LINE6_CAP_HWMON,
|
| LINE6_CAP_HWMON,
|
||||||
.altsetting = 1,
|
.altsetting = 1,
|
||||||
.ep_ctrl_r = 0x81,
|
.ctrl_if = 1,
|
||||||
.ep_ctrl_w = 0x01,
|
|
||||||
.ep_audio_r = 0x86,
|
|
||||||
.ep_audio_w = 0x02,
|
|
||||||
},
|
|
||||||
[LINE6_PODHD500_1] = {
|
|
||||||
.id = "PODHD500",
|
|
||||||
.name = "POD HD500",
|
|
||||||
.capabilities = LINE6_CAP_PCM
|
|
||||||
| LINE6_CAP_HWMON,
|
|
||||||
.altsetting = 0,
|
|
||||||
.ep_ctrl_r = 0x81,
|
.ep_ctrl_r = 0x81,
|
||||||
.ep_ctrl_w = 0x01,
|
.ep_ctrl_w = 0x01,
|
||||||
.ep_audio_r = 0x86,
|
.ep_audio_r = 0x86,
|
||||||
|
|
Loading…
Reference in New Issue