diff options
| author | Takashi Iwai <tiwai@suse.de> | 2014-12-03 09:38:03 +0100 | 
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2014-12-03 09:38:58 +0100 | 
| commit | 2e3d4de1bd80b2f205aab0ed0a25daef464ab91c (patch) | |
| tree | 7caa6a353f9ff9f5e196ed01bbbfce1c8c5ec8ae /include/linux/percpu-refcount.h | |
| parent | 492a7ea0a6d3cc9c16ad5f8af832ed4278225b2e (diff) | |
| parent | 009d0431c3914de64666bec0d350e54fdd59df6a (diff) | |
Merge tag 'v3.18-rc7' into for-next
... for allowing more cleanups of hda_intel.c driver-caps where both
upstream and for-next contain the changes.
Diffstat (limited to 'include/linux/percpu-refcount.h')
| -rw-r--r-- | include/linux/percpu-refcount.h | 8 | 
1 files changed, 7 insertions, 1 deletions
| diff --git a/include/linux/percpu-refcount.h b/include/linux/percpu-refcount.h index d5c89e0dd0e6..51ce60c35f4c 100644 --- a/include/linux/percpu-refcount.h +++ b/include/linux/percpu-refcount.h @@ -133,7 +133,13 @@ static inline bool __ref_is_percpu(struct percpu_ref *ref,  	/* paired with smp_store_release() in percpu_ref_reinit() */  	smp_read_barrier_depends(); -	if (unlikely(percpu_ptr & __PERCPU_REF_ATOMIC)) +	/* +	 * Theoretically, the following could test just ATOMIC; however, +	 * then we'd have to mask off DEAD separately as DEAD may be +	 * visible without ATOMIC if we race with percpu_ref_kill().  DEAD +	 * implies ATOMIC anyway.  Test them together. +	 */ +	if (unlikely(percpu_ptr & __PERCPU_REF_ATOMIC_DEAD))  		return false;  	*percpu_countp = (unsigned long __percpu *)percpu_ptr; | 
