diff options
-rw-r--r-- | drivers/media/video/saa7134/saa7134-alsa.c | 16 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 2 |
2 files changed, 12 insertions, 6 deletions
diff --git a/drivers/media/video/saa7134/saa7134-alsa.c b/drivers/media/video/saa7134/saa7134-alsa.c index ffb0f647a86d..3c0fc9027ad0 100644 --- a/drivers/media/video/saa7134/saa7134-alsa.c +++ b/drivers/media/video/saa7134/saa7134-alsa.c | |||
@@ -75,7 +75,8 @@ typedef struct snd_card_saa7134 { | |||
75 | struct saa7134_dev *dev; | 75 | struct saa7134_dev *dev; |
76 | 76 | ||
77 | unsigned long iobase; | 77 | unsigned long iobase; |
78 | int irq; | 78 | s16 irq; |
79 | u16 mute_was_on; | ||
79 | 80 | ||
80 | spinlock_t lock; | 81 | spinlock_t lock; |
81 | } snd_card_saa7134_t; | 82 | } snd_card_saa7134_t; |
@@ -589,8 +590,10 @@ static int snd_card_saa7134_capture_close(struct snd_pcm_substream * substream) | |||
589 | snd_card_saa7134_t *saa7134 = snd_pcm_substream_chip(substream); | 590 | snd_card_saa7134_t *saa7134 = snd_pcm_substream_chip(substream); |
590 | struct saa7134_dev *dev = saa7134->dev; | 591 | struct saa7134_dev *dev = saa7134->dev; |
591 | 592 | ||
592 | dev->ctl_mute = 1; | 593 | if (saa7134->mute_was_on) { |
593 | saa7134_tvaudio_setmute(dev); | 594 | dev->ctl_mute = 1; |
595 | saa7134_tvaudio_setmute(dev); | ||
596 | } | ||
594 | return 0; | 597 | return 0; |
595 | } | 598 | } |
596 | 599 | ||
@@ -637,8 +640,11 @@ static int snd_card_saa7134_capture_open(struct snd_pcm_substream * substream) | |||
637 | runtime->private_free = snd_card_saa7134_runtime_free; | 640 | runtime->private_free = snd_card_saa7134_runtime_free; |
638 | runtime->hw = snd_card_saa7134_capture; | 641 | runtime->hw = snd_card_saa7134_capture; |
639 | 642 | ||
640 | dev->ctl_mute = 0; | 643 | if (dev->ctl_mute != 0) { |
641 | saa7134_tvaudio_setmute(dev); | 644 | saa7134->mute_was_on = 1; |
645 | dev->ctl_mute = 0; | ||
646 | saa7134_tvaudio_setmute(dev); | ||
647 | } | ||
642 | 648 | ||
643 | if ((err = snd_pcm_hw_constraint_integer(runtime, SNDRV_PCM_HW_PARAM_PERIODS)) < 0) | 649 | if ((err = snd_pcm_hw_constraint_integer(runtime, SNDRV_PCM_HW_PARAM_PERIODS)) < 0) |
644 | return err; | 650 | return err; |
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index 5813509e3992..8ec83bd70094 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c | |||
@@ -400,7 +400,7 @@ struct saa7134_board saa7134_boards[] = { | |||
400 | .inputs = {{ | 400 | .inputs = {{ |
401 | .name = name_tv, | 401 | .name = name_tv, |
402 | .vmux = 1, | 402 | .vmux = 1, |
403 | .amux = LINE2, | 403 | .amux = TV, |
404 | .tv = 1, | 404 | .tv = 1, |
405 | .gpio = 0x20000, | 405 | .gpio = 0x20000, |
406 | },{ | 406 | },{ |