Code Review
/
kvmfornfv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Upgrade to 4.4.50-rt62
[kvmfornfv.git]
/
kernel
/
drivers
/
media
/
usb
/
usbtv
/
usbtv-audio.c
diff --git
a/kernel/drivers/media/usb/usbtv/usbtv-audio.c
b/kernel/drivers/media/usb/usbtv/usbtv-audio.c
index
78c12d2
..
5dab024
100644
(file)
--- a/
kernel/drivers/media/usb/usbtv/usbtv-audio.c
+++ b/
kernel/drivers/media/usb/usbtv/usbtv-audio.c
@@
-278,6
+278,9
@@
static void snd_usbtv_trigger(struct work_struct *work)
{
struct usbtv *chip = container_of(work, struct usbtv, snd_trigger);
{
struct usbtv *chip = container_of(work, struct usbtv, snd_trigger);
+ if (!chip->snd)
+ return;
+
if (atomic_read(&chip->snd_stream))
usbtv_audio_start(chip);
else
if (atomic_read(&chip->snd_stream))
usbtv_audio_start(chip);
else
@@
-378,6
+381,8
@@
err:
void usbtv_audio_free(struct usbtv *usbtv)
{
void usbtv_audio_free(struct usbtv *usbtv)
{
+ cancel_work_sync(&usbtv->snd_trigger);
+
if (usbtv->snd && usbtv->udev) {
snd_card_free(usbtv->snd);
usbtv->snd = NULL;
if (usbtv->snd && usbtv->udev) {
snd_card_free(usbtv->snd);
usbtv->snd = NULL;