]> www.infradead.org Git - users/hch/misc.git/commitdiff
ALSA: lola: Use guard() for mutex locks
authorTakashi Iwai <tiwai@suse.de>
Fri, 29 Aug 2025 14:43:14 +0000 (16:43 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 1 Sep 2025 11:52:41 +0000 (13:52 +0200)
Replace the manual mutex lock/unlock pairs with guard() for code
simplification.

Only code refactoring, and no behavior change.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/20250829144342.4290-40-tiwai@suse.de
sound/pci/lola/lola_pcm.c

index 32193fae978d124af9fc3486438d0e459a661bea..35e919d240bfb7ce9def93e7a2d138bf1a5ba854 100644 (file)
@@ -214,11 +214,9 @@ static int lola_pcm_open(struct snd_pcm_substream *substream)
        struct lola_stream *str = lola_get_stream(substream);
        struct snd_pcm_runtime *runtime = substream->runtime;
 
-       mutex_lock(&chip->open_mutex);
-       if (str->opened) {
-               mutex_unlock(&chip->open_mutex);
+       guard(mutex)(&chip->open_mutex);
+       if (str->opened)
                return -EBUSY;
-       }
        str->substream = substream;
        str->master = NULL;
        str->opened = 1;
@@ -239,7 +237,6 @@ static int lola_pcm_open(struct snd_pcm_substream *substream)
                                   chip->granularity);
        snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_SIZE,
                                   chip->granularity);
-       mutex_unlock(&chip->open_mutex);
        return 0;
 }
 
@@ -261,7 +258,7 @@ static int lola_pcm_close(struct snd_pcm_substream *substream)
        struct lola *chip = snd_pcm_substream_chip(substream);
        struct lola_stream *str = lola_get_stream(substream);
 
-       mutex_lock(&chip->open_mutex);
+       guard(mutex)(&chip->open_mutex);
        if (str->substream == substream) {
                str->substream = NULL;
                str->opened = 0;
@@ -270,7 +267,6 @@ static int lola_pcm_close(struct snd_pcm_substream *substream)
                /* release sample rate */
                chip->sample_rate = 0;
        }
-       mutex_unlock(&chip->open_mutex);
        return 0;
 }
 
@@ -291,10 +287,9 @@ static int lola_pcm_hw_free(struct snd_pcm_substream *substream)
        struct lola_pcm *pcm = lola_get_pcm(substream);
        struct lola_stream *str = lola_get_stream(substream);
 
-       mutex_lock(&chip->open_mutex);
+       guard(mutex)(&chip->open_mutex);
        lola_stream_reset(chip, str);
        lola_cleanup_slave_streams(pcm, str);
-       mutex_unlock(&chip->open_mutex);
        return 0;
 }
 
@@ -457,18 +452,16 @@ static int lola_pcm_prepare(struct snd_pcm_substream *substream)
        unsigned int bufsize, period_bytes, format_verb;
        int i, err;
 
-       mutex_lock(&chip->open_mutex);
-       lola_stream_reset(chip, str);
-       lola_cleanup_slave_streams(pcm, str);
-       if (str->index + runtime->channels > pcm->num_streams) {
-               mutex_unlock(&chip->open_mutex);
-               return -EINVAL;
-       }
-       for (i = 1; i < runtime->channels; i++) {
-               str[i].master = str;
-               str[i].opened = 1;
+       scoped_guard(mutex, &chip->open_mutex) {
+               lola_stream_reset(chip, str);
+               lola_cleanup_slave_streams(pcm, str);
+               if (str->index + runtime->channels > pcm->num_streams)
+                       return -EINVAL;
+               for (i = 1; i < runtime->channels; i++) {
+                       str[i].master = str;
+                       str[i].opened = 1;
+               }
        }
-       mutex_unlock(&chip->open_mutex);
 
        bufsize = snd_pcm_lib_buffer_bytes(substream);
        period_bytes = snd_pcm_lib_period_bytes(substream);