diff options
Diffstat (limited to 'sound/core/rawmidi.c')
| -rw-r--r-- | sound/core/rawmidi.c | 15 | 
1 files changed, 12 insertions, 3 deletions
diff --git a/sound/core/rawmidi.c b/sound/core/rawmidi.c index b3b353d72527..f055ca10bbc1 100644 --- a/sound/core/rawmidi.c +++ b/sound/core/rawmidi.c @@ -579,15 +579,14 @@ static int snd_rawmidi_info_user(struct snd_rawmidi_substream *substream,  	return 0;  } -int snd_rawmidi_info_select(struct snd_card *card, struct snd_rawmidi_info *info) +static int __snd_rawmidi_info_select(struct snd_card *card, +				     struct snd_rawmidi_info *info)  {  	struct snd_rawmidi *rmidi;  	struct snd_rawmidi_str *pstr;  	struct snd_rawmidi_substream *substream; -	mutex_lock(®ister_mutex);  	rmidi = snd_rawmidi_search(card, info->device); -	mutex_unlock(®ister_mutex);  	if (!rmidi)  		return -ENXIO;  	if (info->stream < 0 || info->stream > 1) @@ -603,6 +602,16 @@ int snd_rawmidi_info_select(struct snd_card *card, struct snd_rawmidi_info *info  	}  	return -ENXIO;  } + +int snd_rawmidi_info_select(struct snd_card *card, struct snd_rawmidi_info *info) +{ +	int ret; + +	mutex_lock(®ister_mutex); +	ret = __snd_rawmidi_info_select(card, info); +	mutex_unlock(®ister_mutex); +	return ret; +}  EXPORT_SYMBOL(snd_rawmidi_info_select);  static int snd_rawmidi_info_select_user(struct snd_card *card,  | 
