|
@@ -948,6 +948,7 @@ urb_free:
|
|
|
|
|
|
card_free:
|
|
|
snd_card_free(card);
|
|
|
+ adev->sndcard = NULL;
|
|
|
|
|
|
return err;
|
|
|
}
|
|
@@ -966,12 +967,12 @@ static int em28xx_audio_fini(struct em28xx *dev)
|
|
|
|
|
|
em28xx_info("Closing audio extension");
|
|
|
|
|
|
- snd_card_disconnect(dev->adev.sndcard);
|
|
|
- flush_work(&dev->wq_trigger);
|
|
|
+ if (dev->adev.sndcard) {
|
|
|
+ snd_card_disconnect(dev->adev.sndcard);
|
|
|
+ flush_work(&dev->wq_trigger);
|
|
|
|
|
|
- em28xx_audio_free_urb(dev);
|
|
|
+ em28xx_audio_free_urb(dev);
|
|
|
|
|
|
- if (dev->adev.sndcard) {
|
|
|
snd_card_free(dev->adev.sndcard);
|
|
|
dev->adev.sndcard = NULL;
|
|
|
}
|