Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 85122ea4 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

ALSA: Remove unneeded snd_pcm_substream.timer_lock



The timer callbacks are called in the protected status by the lock
of the timer instance, so there is no need for an extra lock in the
PCM substream.

Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent ed3da3d9
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -364,7 +364,6 @@ struct snd_pcm_substream {
        /* -- timer section -- */
	struct snd_timer *timer;		/* timer */
	unsigned timer_running: 1;	/* time is running */
	spinlock_t timer_lock;
	/* -- next substream -- */
	struct snd_pcm_substream *next;
	/* -- linked substreams -- */
+0 −1
Original line number Diff line number Diff line
@@ -667,7 +667,6 @@ int snd_pcm_new_stream(struct snd_pcm *pcm, int stream, int substream_count)
		spin_lock_init(&substream->self_group.lock);
		INIT_LIST_HEAD(&substream->self_group.substreams);
		list_add_tail(&substream->link_list, &substream->self_group.substreams);
		spin_lock_init(&substream->timer_lock);
		atomic_set(&substream->mmap_count, 0);
		prev = substream;
	}
+0 −6
Original line number Diff line number Diff line
@@ -85,25 +85,19 @@ static unsigned long snd_pcm_timer_resolution(struct snd_timer * timer)

static int snd_pcm_timer_start(struct snd_timer * timer)
{
	unsigned long flags;
	struct snd_pcm_substream *substream;
	
	substream = snd_timer_chip(timer);
	spin_lock_irqsave(&substream->timer_lock, flags);
	substream->timer_running = 1;
	spin_unlock_irqrestore(&substream->timer_lock, flags);
	return 0;
}

static int snd_pcm_timer_stop(struct snd_timer * timer)
{
	unsigned long flags;
	struct snd_pcm_substream *substream;
	
	substream = snd_timer_chip(timer);
	spin_lock_irqsave(&substream->timer_lock, flags);
	substream->timer_running = 0;
	spin_unlock_irqrestore(&substream->timer_lock, flags);
	return 0;
}