Removed nested mutexes in the removal routine of port connections.
The port is guaranteed to be offline before calling it, so no mutex
is needed.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Fix the draining of PCM capture stream in the PCM middle layer.
snd_pcm_drain() ignored capture streams, but it should change
the state to SNDRV_PCM_DRAINING.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Fixed rwlock around snd_iprintf() in sound core part.
Replaced with mutex.
Also, make mutex and flags static variables with addition of
snd_card_locked() function (just for sound.c).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Add a get_port_info callback to the snd_rawmidi_global_ops structure to
allow the USB MIDI driver to supply information flags for the sequencer
ports created by seq_midi.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Add four new information flags SNDRV_SEQ_PORT_TYPE_HARDWARE, _SOFTWARE,
_SYNTHESIZER, _PORT for sequencer ports. This makes it easier for apps
like Rosegarden to make policy decisions based on the port type.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Move mmap_count to snd_pcm_substream instead of runtime struct
so that multiplly opened substreams via O_APPEND can be handled
correctly.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Added O_APPEND flag support to PCM to enable shared substreams
among multiple processes. This mechanism is used by dmix and
dsnoop plugins.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Clean up ugly hacks for sync with alsa-lib code in pcm_lib.c.
Also, optimize snd_pcm_hw_params_choose() with a loop.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Move EXPORT_SYMBOL()s to places adjacent to functions/variables.
Also move OSS-specific hw_params helper functions to pcm_oss.c.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Change snd_seq_midisynth_register_port() in seq_midi.c so that if a new client
is created, the client name string is based on card->shortname not
(port-specific) info->name.
Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk>
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Fixed Oops at rmmod with CONFIG_SND_VERBOSE_PROCFS=n.
Add ifdef to struct fields for optimization and better compile
checks.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Handle the error returned from snd_pcm_oss_get_formats() correctly
in SNDCTL_DSP_SETFMT ioctl handler of PCM OSS emulation.
Signed-off-by: Steven Finney <sfinney@healthhero.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: PCM Midlevel
This patch makes the needlessly global snd_pcm_format_name() static.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>