diff options
Diffstat (limited to 'scripts/atomic/fallbacks/set_release')
| -rwxr-xr-x | scripts/atomic/fallbacks/set_release | 7 | 
1 files changed, 6 insertions, 1 deletions
| diff --git a/scripts/atomic/fallbacks/set_release b/scripts/atomic/fallbacks/set_release index 86ede759f24e..05cdb7f42477 100755 --- a/scripts/atomic/fallbacks/set_release +++ b/scripts/atomic/fallbacks/set_release @@ -2,6 +2,11 @@ cat <<EOF  static __always_inline void  arch_${atomic}_set_release(${atomic}_t *v, ${int} i)  { -	smp_store_release(&(v)->counter, i); +	if (__native_word(${atomic}_t)) { +		smp_store_release(&(v)->counter, i); +	} else { +		__atomic_release_fence(); +		arch_${atomic}_set(v, i); +	}  }  EOF |