aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/saa7134/saa7134-alsa.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-18 14:25:58 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-18 14:25:58 -0400
commita267c0a887064720dfab5775a4f09b20b4f8ec37 (patch)
tree25de1f109ff6ef7f0967c22755604cc667944afd /drivers/media/video/saa7134/saa7134-alsa.c
parentd756d10e246a01515d07f8161181b8a14afba7cc (diff)
parent97989ada7628da262eafb4bebce0a319c7cb0f5f (diff)
Merge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb
* 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (126 commits) V4L/DVB (5847): Clean up schedule_timeout calls in cpia2 and ivtv code V4L/DVB (5846): Clean up setting state and scheduling timeouts V4L/DVB (5844): ivtv: add high volume debugging flag V4L/DVB (5843): ivtv: fix missing signal_pending check. V4L/DVB (5842): ivtv: Add locking to ensure stream setup is atomic. V4L/DVB (5841): tveeprom: add support for Philips FQ1216LME MK3 tuner. V4L/DVB (5840): fix dst and cx24123: tune() callback changed signess for delay V4L/DVB (5838): dvb-core: Fix signedness warnings (gcc 4.1.1, kernel 2.6.22) V4L/DVB (5837): stv0299: Fix signedness warning (gcc 4.1.1, kernel 2.6.22) V4L/DVB (5836): dvb-ttpci: re-initialize aspect ratio and pan scan after arm crash V4L/DVB (5835): saa7146/dvb-ttpci: Fix signedness warnings (gcc 4.1.1, kernel 2.6.22) V4L/DVB (5834): dvb-core: fix signedness warnings and const stripping V4L/DVB (5832): ir-common: optimize bit extract function V4L/DVB (5831): stradis: use ARRAY_SIZE V4L/DVB (5829): Firmware extract and loading for opera dvb-usb update V4L/DVB (5828): Kconfig: Added GemTek USB radio and removed experimental dependency. V4L/DVB (5826): Usbvision: video mux cleanup V4L/DVB (5825): Alter the tuner type for the WinTV USB UK PAL model. V4L/DVB (5824): Usbvision: Hauppauge WinTV USB SECAM_L fix V4L/DVB (5821): Saa7134: add remote control support for LifeView FlyDVB-S LR300 ...
Diffstat (limited to 'drivers/media/video/saa7134/saa7134-alsa.c')
-rw-r--r--drivers/media/video/saa7134/saa7134-alsa.c16
1 files changed, 11 insertions, 5 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;