aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/video/saa7134/saa7134-alsa.c16
-rw-r--r--drivers/media/video/saa7134/saa7134-cards.c2
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 },{