diff options
-rw-r--r-- | sound/usb/line6/podhd.c | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/sound/usb/line6/podhd.c b/sound/usb/line6/podhd.c index 4bacbf7f963d..9352a44ae6e4 100644 --- a/sound/usb/line6/podhd.c +++ b/sound/usb/line6/podhd.c @@ -314,17 +314,14 @@ static int podhd_init(struct usb_line6 *line6, return err; } - /* initialize MIDI subsystem: */ - err = line6_init_midi(line6); - if (err < 0) - return err; - - /* initialize PCM subsystem: */ - err = line6_init_pcm(line6, - (id->driver_info == LINE6_PODX3) ? &podx3_pcm_properties : - &podhd_pcm_properties); - if (err < 0) - return err; + if (pod->line6.properties->capabilities & LINE6_CAP_PCM) { + /* initialize PCM subsystem: */ + err = line6_init_pcm(line6, + (id->driver_info == LINE6_PODX3) ? &podx3_pcm_properties : + &podhd_pcm_properties); + if (err < 0) + return err; + } if (!(pod->line6.properties->capabilities & LINE6_CAP_CONTROL)) { /* register USB audio system directly */ |