[PATCH v2 1/6] ALSA: core: Use READ_ONCE() / WRITE_ONCE() for power state change
Takashi Iwai
tiwai at suse.de
Sun May 23 11:09:15 CEST 2021
We need proper barriers to handle the power state change of the card
from different CPUs.
Signed-off-by: Takashi Iwai <tiwai at suse.de>
---
include/sound/core.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/sound/core.h b/include/sound/core.h
index 1f9aef0adbc9..d69dfc6c4953 100644
--- a/include/sound/core.h
+++ b/include/sound/core.h
@@ -142,12 +142,12 @@ struct snd_card {
#ifdef CONFIG_PM
static inline unsigned int snd_power_get_state(struct snd_card *card)
{
- return card->power_state;
+ return READ_ONCE(card->power_state);
}
static inline void snd_power_change_state(struct snd_card *card, unsigned int state)
{
- card->power_state = state;
+ WRITE_ONCE(card->power_state, state);
wake_up(&card->power_sleep);
}
--
2.26.2
More information about the Alsa-devel
mailing list