ALSA: pcm: Avoid reference to status->state
authorTakashi Iwai <tiwai@suse.de>
Mon, 26 Sep 2022 13:55:48 +0000 (15:55 +0200)
committerTakashi Iwai <tiwai@suse.de>
Tue, 27 Sep 2022 06:44:05 +0000 (08:44 +0200)
commitf0061c18c169f0c32d96b59485c3edee85e343ed
tree1ce7b4b5d34cb4f01d64287bbcf14436b365f30b
parent69ab6f5b00b1804ea42b375ca30d818d169cae82
ALSA: pcm: Avoid reference to status->state

In the PCM core and driver code, there are lots place referring to the
current PCM state via runtime->status->state.  This patch introduced a
local PCM state in runtime itself and replaces those references with
runtime->state.  It has improvements in two aspects:

- The reduction of a indirect access leads to more code optimization

- It avoids a possible (unexpected) modification of the state via mmap
  of the status record

The status->state is updated together with runtime->state, so that
user-space can still read the current state via mmap like before,
too.

This patch touches only the ALSA core code.  The changes in each
driver will follow in later patches.

Reviewed-by: Jaroslav Kysela <perex@perex.cz>
Link: https://lore.kernel.org/r/20220926135558.26580-2-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/sound/pcm.h
sound/core/oss/pcm_oss.c
sound/core/pcm.c
sound/core/pcm_compat.c
sound/core/pcm_lib.c
sound/core/pcm_native.c