Skip to content

Commit

Permalink
ALSA: line6: remove unnecessary initialization to PODHD500X
Browse files Browse the repository at this point in the history
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: Hans P. Moller <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
  • Loading branch information
hmollercl authored and tiwai committed Jun 20, 2017
1 parent c1d2507 commit 8cad7a3
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 4 deletions.
2 changes: 2 additions & 0 deletions sound/usb/line6/driver.h
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,8 @@ enum {
LINE6_CAP_IN_NEEDS_OUT = 1 << 3,
/* device uses raw MIDI via USB (data endpoints) */
LINE6_CAP_CONTROL_MIDI = 1 << 4,
/* device provides low-level information */
LINE6_CAP_CONTROL_INFO = 1 << 5,
};

/*
Expand Down
10 changes: 6 additions & 4 deletions sound/usb/line6/podhd.c
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@ static void podhd_disconnect(struct usb_line6 *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;

del_timer_sync(&pod->startup_timer);
Expand Down Expand Up @@ -333,7 +333,9 @@ static int podhd_init(struct usb_line6 *line6,
pod->line6.properties->ctrl_if, err);
return err;
}
}

if (pod->line6.properties->capabilities & LINE6_CAP_CONTROL_INFO) {
/* create sysfs entries: */
err = snd_card_add_dev_attr(line6->card, &podhd_dev_attr_group);
if (err < 0)
Expand All @@ -350,7 +352,7 @@ static int podhd_init(struct usb_line6 *line6,
return err;
}

if (!(pod->line6.properties->capabilities & LINE6_CAP_CONTROL)) {
if (!(pod->line6.properties->capabilities & LINE6_CAP_CONTROL_INFO)) {
/* register USB audio system directly */
return podhd_startup_finalize(pod);
}
Expand Down Expand Up @@ -428,7 +430,7 @@ static const struct line6_properties podhd_properties_table[] = {
[LINE6_PODX3] = {
.id = "PODX3",
.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,
.altsetting = 1,
.ep_ctrl_r = 0x81,
Expand All @@ -440,7 +442,7 @@ static const struct line6_properties podhd_properties_table[] = {
[LINE6_PODX3LIVE] = {
.id = "PODX3LIVE",
.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,
.altsetting = 1,
.ep_ctrl_r = 0x81,
Expand Down

0 comments on commit 8cad7a3

Please sign in to comment.