You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
2.1 KiB
Diff
62 lines
2.1 KiB
Diff
From af2fe52ef43c1aa6a24d1c51ad3ccddc39a12c51 Mon Sep 17 00:00:00 2001
|
|
From: Takashi Iwai <tiwai@suse.de>
|
|
Date: Tue, 4 Sep 2018 17:58:36 +0200
|
|
Subject: [PATCH] staging: bcm2835-audio: Remove superfluous open flag
|
|
|
|
commit ad13924de6b07cb52714ea1809c57b2e72a24504 upstream.
|
|
|
|
All the alsa_stream->open flag checks in the current code are
|
|
redundant, and they cannot be racy. For the code simplification,
|
|
let's remove the flag and its check.
|
|
|
|
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
---
|
|
.../staging/vc04_services/bcm2835-audio/bcm2835-pcm.c | 9 ++-------
|
|
drivers/staging/vc04_services/bcm2835-audio/bcm2835.h | 1 -
|
|
2 files changed, 2 insertions(+), 8 deletions(-)
|
|
|
|
--- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c
|
|
+++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c
|
|
@@ -57,8 +57,7 @@ void bcm2835_playback_fifo(struct bcm283
|
|
audio_info("alsa_stream=%p substream=%p\n", alsa_stream,
|
|
alsa_stream ? alsa_stream->substream : 0);
|
|
|
|
- if (alsa_stream->open)
|
|
- consumed = bcm2835_audio_retrieve_buffers(alsa_stream);
|
|
+ consumed = bcm2835_audio_retrieve_buffers(alsa_stream);
|
|
|
|
/* We get called only if playback was triggered, So, the number of buffers we retrieve in
|
|
* each iteration are the buffers that have been played out already
|
|
@@ -154,7 +153,6 @@ static int snd_bcm2835_playback_open_gen
|
|
chip->alsa_stream[idx] = alsa_stream;
|
|
|
|
chip->opened |= (1 << idx);
|
|
- alsa_stream->open = 1;
|
|
alsa_stream->draining = 1;
|
|
|
|
out:
|
|
@@ -205,10 +203,7 @@ static int snd_bcm2835_playback_close(st
|
|
alsa_stream->period_size = 0;
|
|
alsa_stream->buffer_size = 0;
|
|
|
|
- if (alsa_stream->open) {
|
|
- alsa_stream->open = 0;
|
|
- bcm2835_audio_close(alsa_stream);
|
|
- }
|
|
+ bcm2835_audio_close(alsa_stream);
|
|
if (alsa_stream->chip)
|
|
alsa_stream->chip->alsa_stream[alsa_stream->idx] = NULL;
|
|
/*
|
|
--- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.h
|
|
+++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.h
|
|
@@ -121,7 +121,6 @@ struct bcm2835_alsa_stream {
|
|
|
|
spinlock_t lock;
|
|
|
|
- int open;
|
|
int running;
|
|
int draining;
|
|
|