aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/mixart/mixart.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/mixart/mixart.c')
-rw-r--r--sound/pci/mixart/mixart.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/sound/pci/mixart/mixart.c b/sound/pci/mixart/mixart.c
index b218e1d20c78..e79fb264532b 100644
--- a/sound/pci/mixart/mixart.c
+++ b/sound/pci/mixart/mixart.c
@@ -26,6 +26,7 @@
26#include <linux/interrupt.h> 26#include <linux/interrupt.h>
27#include <linux/pci.h> 27#include <linux/pci.h>
28#include <linux/moduleparam.h> 28#include <linux/moduleparam.h>
29#include <linux/mutex.h>
29#include <sound/core.h> 30#include <sound/core.h>
30#include <sound/initval.h> 31#include <sound/initval.h>
31#include <sound/info.h> 32#include <sound/info.h>
@@ -589,7 +590,7 @@ static int snd_mixart_hw_params(struct snd_pcm_substream *subs,
589 /* set up format for the stream */ 590 /* set up format for the stream */
590 format = params_format(hw); 591 format = params_format(hw);
591 592
592 down(&mgr->setup_mutex); 593 mutex_lock(&mgr->setup_mutex);
593 594
594 /* update the stream levels */ 595 /* update the stream levels */
595 if( stream->pcm_number <= MIXART_PCM_DIGITAL ) { 596 if( stream->pcm_number <= MIXART_PCM_DIGITAL ) {
@@ -628,7 +629,7 @@ static int snd_mixart_hw_params(struct snd_pcm_substream *subs,
628 bufferinfo[i].available_length, 629 bufferinfo[i].available_length,
629 subs->number); 630 subs->number);
630 } 631 }
631 up(&mgr->setup_mutex); 632 mutex_unlock(&mgr->setup_mutex);
632 633
633 return err; 634 return err;
634} 635}
@@ -700,7 +701,7 @@ static int snd_mixart_playback_open(struct snd_pcm_substream *subs)
700 int err = 0; 701 int err = 0;
701 int pcm_number; 702 int pcm_number;
702 703
703 down(&mgr->setup_mutex); 704 mutex_lock(&mgr->setup_mutex);
704 705
705 if ( pcm == chip->pcm ) { 706 if ( pcm == chip->pcm ) {
706 pcm_number = MIXART_PCM_ANALOG; 707 pcm_number = MIXART_PCM_ANALOG;
@@ -758,7 +759,7 @@ static int snd_mixart_playback_open(struct snd_pcm_substream *subs)
758 } 759 }
759 760
760 _exit_open: 761 _exit_open:
761 up(&mgr->setup_mutex); 762 mutex_unlock(&mgr->setup_mutex);
762 763
763 return err; 764 return err;
764} 765}
@@ -775,7 +776,7 @@ static int snd_mixart_capture_open(struct snd_pcm_substream *subs)
775 int err = 0; 776 int err = 0;
776 int pcm_number; 777 int pcm_number;
777 778
778 down(&mgr->setup_mutex); 779 mutex_lock(&mgr->setup_mutex);
779 780
780 if ( pcm == chip->pcm ) { 781 if ( pcm == chip->pcm ) {
781 pcm_number = MIXART_PCM_ANALOG; 782 pcm_number = MIXART_PCM_ANALOG;
@@ -836,7 +837,7 @@ static int snd_mixart_capture_open(struct snd_pcm_substream *subs)
836 } 837 }
837 838
838 _exit_open: 839 _exit_open:
839 up(&mgr->setup_mutex); 840 mutex_unlock(&mgr->setup_mutex);
840 841
841 return err; 842 return err;
842} 843}
@@ -849,7 +850,7 @@ static int snd_mixart_close(struct snd_pcm_substream *subs)
849 struct mixart_mgr *mgr = chip->mgr; 850 struct mixart_mgr *mgr = chip->mgr;
850 struct mixart_stream *stream = subs->runtime->private_data; 851 struct mixart_stream *stream = subs->runtime->private_data;
851 852
852 down(&mgr->setup_mutex); 853 mutex_lock(&mgr->setup_mutex);
853 854
854 snd_printdd("snd_mixart_close C%d/P%d/Sub%d\n", chip->chip_idx, stream->pcm_number, subs->number); 855 snd_printdd("snd_mixart_close C%d/P%d/Sub%d\n", chip->chip_idx, stream->pcm_number, subs->number);
855 856
@@ -868,7 +869,7 @@ static int snd_mixart_close(struct snd_pcm_substream *subs)
868 stream->status = MIXART_STREAM_STATUS_FREE; 869 stream->status = MIXART_STREAM_STATUS_FREE;
869 stream->substream = NULL; 870 stream->substream = NULL;
870 871
871 up(&mgr->setup_mutex); 872 mutex_unlock(&mgr->setup_mutex);
872 return 0; 873 return 0;
873} 874}
874 875
@@ -1335,12 +1336,12 @@ static int __devinit snd_mixart_probe(struct pci_dev *pci,
1335 mgr->msg_fifo_writeptr = 0; 1336 mgr->msg_fifo_writeptr = 0;
1336 1337
1337 spin_lock_init(&mgr->msg_lock); 1338 spin_lock_init(&mgr->msg_lock);
1338 init_MUTEX(&mgr->msg_mutex); 1339 mutex_init(&mgr->msg_mutex);
1339 init_waitqueue_head(&mgr->msg_sleep); 1340 init_waitqueue_head(&mgr->msg_sleep);
1340 atomic_set(&mgr->msg_processed, 0); 1341 atomic_set(&mgr->msg_processed, 0);
1341 1342
1342 /* init setup mutex*/ 1343 /* init setup mutex*/
1343 init_MUTEX(&mgr->setup_mutex); 1344 mutex_init(&mgr->setup_mutex);
1344 1345
1345 /* init message taslket */ 1346 /* init message taslket */
1346 tasklet_init(&mgr->msg_taskq, snd_mixart_msg_tasklet, (unsigned long) mgr); 1347 tasklet_init(&mgr->msg_taskq, snd_mixart_msg_tasklet, (unsigned long) mgr);