Commit 8cad7a3d authored by Hans P. Möller Ebner's avatar Hans P. Möller Ebner Committed by Takashi Iwai

ALSA: line6: remove unnecessary initialization to PODHD500X

Remove Initialization from POD HD500X because it's not needed.
Every time the device is connected dmesg gives the following output:
"receive length failed (error -11)".
To solve this problem, another flags is introduced
(LINE6_CAP_CONTROL_INFO) and it is only used for PODX3 in: sysfs
entries, call podhd_startup_finalize(pod) and disconnection.
With this patch the error disappear.
Signed-off-by: default avatarHans P. Moller <hmoller@uc.cl>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent c1d25075
...@@ -117,6 +117,8 @@ enum { ...@@ -117,6 +117,8 @@ enum {
LINE6_CAP_IN_NEEDS_OUT = 1 << 3, LINE6_CAP_IN_NEEDS_OUT = 1 << 3,
/* device uses raw MIDI via USB (data endpoints) */ /* device uses raw MIDI via USB (data endpoints) */
LINE6_CAP_CONTROL_MIDI = 1 << 4, LINE6_CAP_CONTROL_MIDI = 1 << 4,
/* device provides low-level information */
LINE6_CAP_CONTROL_INFO = 1 << 5,
}; };
/* /*
......
...@@ -293,7 +293,7 @@ static void podhd_disconnect(struct usb_line6 *line6) ...@@ -293,7 +293,7 @@ static void podhd_disconnect(struct usb_line6 *line6)
{ {
struct usb_line6_podhd *pod = (struct usb_line6_podhd *)line6; struct usb_line6_podhd *pod = (struct usb_line6_podhd *)line6;
if (pod->line6.properties->capabilities & LINE6_CAP_CONTROL) { if (pod->line6.properties->capabilities & LINE6_CAP_CONTROL_INFO) {
struct usb_interface *intf; struct usb_interface *intf;
del_timer_sync(&pod->startup_timer); del_timer_sync(&pod->startup_timer);
...@@ -333,7 +333,9 @@ static int podhd_init(struct usb_line6 *line6, ...@@ -333,7 +333,9 @@ static int podhd_init(struct usb_line6 *line6,
pod->line6.properties->ctrl_if, err); pod->line6.properties->ctrl_if, err);
return err; return err;
} }
}
if (pod->line6.properties->capabilities & LINE6_CAP_CONTROL_INFO) {
/* create sysfs entries: */ /* create sysfs entries: */
err = snd_card_add_dev_attr(line6->card, &podhd_dev_attr_group); err = snd_card_add_dev_attr(line6->card, &podhd_dev_attr_group);
if (err < 0) if (err < 0)
...@@ -350,7 +352,7 @@ static int podhd_init(struct usb_line6 *line6, ...@@ -350,7 +352,7 @@ static int podhd_init(struct usb_line6 *line6,
return err; return err;
} }
if (!(pod->line6.properties->capabilities & LINE6_CAP_CONTROL)) { if (!(pod->line6.properties->capabilities & LINE6_CAP_CONTROL_INFO)) {
/* register USB audio system directly */ /* register USB audio system directly */
return podhd_startup_finalize(pod); return podhd_startup_finalize(pod);
} }
...@@ -428,7 +430,7 @@ static const struct line6_properties podhd_properties_table[] = { ...@@ -428,7 +430,7 @@ static const struct line6_properties podhd_properties_table[] = {
[LINE6_PODX3] = { [LINE6_PODX3] = {
.id = "PODX3", .id = "PODX3",
.name = "POD X3", .name = "POD X3",
.capabilities = LINE6_CAP_CONTROL .capabilities = LINE6_CAP_CONTROL | LINE6_CAP_CONTROL_INFO
| LINE6_CAP_PCM | LINE6_CAP_HWMON | LINE6_CAP_IN_NEEDS_OUT, | LINE6_CAP_PCM | LINE6_CAP_HWMON | LINE6_CAP_IN_NEEDS_OUT,
.altsetting = 1, .altsetting = 1,
.ep_ctrl_r = 0x81, .ep_ctrl_r = 0x81,
...@@ -440,7 +442,7 @@ static const struct line6_properties podhd_properties_table[] = { ...@@ -440,7 +442,7 @@ static const struct line6_properties podhd_properties_table[] = {
[LINE6_PODX3LIVE] = { [LINE6_PODX3LIVE] = {
.id = "PODX3LIVE", .id = "PODX3LIVE",
.name = "POD X3 LIVE", .name = "POD X3 LIVE",
.capabilities = LINE6_CAP_CONTROL .capabilities = LINE6_CAP_CONTROL | LINE6_CAP_CONTROL_INFO
| LINE6_CAP_PCM | LINE6_CAP_HWMON | LINE6_CAP_IN_NEEDS_OUT, | LINE6_CAP_PCM | LINE6_CAP_HWMON | LINE6_CAP_IN_NEEDS_OUT,
.altsetting = 1, .altsetting = 1,
.ep_ctrl_r = 0x81, .ep_ctrl_r = 0x81,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment