diff options
| -rw-r--r-- | sound/usb/card.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/sound/usb/card.c b/sound/usb/card.c index f42d72cd0378..aff66bcc583d 100644 --- a/sound/usb/card.c +++ b/sound/usb/card.c @@ -1280,8 +1280,11 @@ static int usb_audio_resume(struct usb_interface *intf) list_for_each_entry(as, &chip->pcm_list, list) { err = snd_usb_pcm_resume(as); - if (err < 0) - goto err_out; + if (err < 0) { + if (!chip->system_suspend) + goto err_out; + goto out; + } } /* @@ -1290,8 +1293,11 @@ static int usb_audio_resume(struct usb_interface *intf) */ list_for_each_entry(mixer, &chip->mixer_list, list) { err = snd_usb_mixer_resume(mixer); - if (err < 0) - goto err_out; + if (err < 0) { + if (!chip->system_suspend) + goto err_out; + goto out; + } } list_for_each(p, &chip->midi_list) { |
