diff options
author | Mark Brown <broonie@kernel.org> | 2024-02-01 17:45:32 +0000 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2024-02-01 17:45:32 +0000 |
commit | e81fdba0208666b65bafeaba814874b4d6e5edde (patch) | |
tree | 5de26e8be4ca1801ca27bffe25c129d29b13dba9 /kernel/trace/tracing_map.c | |
parent | 5513c5d0fb3d509cdd0a11afc18441c57eb7c94c (diff) | |
parent | 28876c1ae8b8cd1dacef50bd6c0555824774f0d2 (diff) |
ALSA: Various fixes for Cirrus Logic CS35L56 support
Merge series from Richard Fitzgerald <rf@opensource.cirrus.com>:
These patches fixe various things that were undocumented, unknown or
uncertain when the original driver code was written. And also a few
things that were just bugs.
Diffstat (limited to 'kernel/trace/tracing_map.c')
-rw-r--r-- | kernel/trace/tracing_map.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/kernel/trace/tracing_map.c b/kernel/trace/tracing_map.c index c774e560f2f9..a4dcf0f24352 100644 --- a/kernel/trace/tracing_map.c +++ b/kernel/trace/tracing_map.c @@ -574,7 +574,12 @@ __tracing_map_insert(struct tracing_map *map, void *key, bool lookup_only) } memcpy(elt->key, key, map->key_size); - entry->val = elt; + /* + * Ensure the initialization is visible and + * publish the elt. + */ + smp_wmb(); + WRITE_ONCE(entry->val, elt); atomic64_inc(&map->hits); return entry->val; |