diff options
author | Dominik Sliwa <dominik.sliwa@toradex.com> | 2017-11-21 16:35:43 +0000 |
---|---|---|
committer | Dominik Sliwa <dominik.sliwa@toradex.com> | 2018-09-18 13:01:26 +0200 |
commit | d6a47bfb72f495a72637fbe635220f6af0f4cb6f (patch) | |
tree | 599ca63f39f31243e55a7a62df8c98fd40e308de /drivers/net/wireless/intel/iwlwifi/pcie/rx.c | |
parent | a5867d9e1f9f8096480104d80f9a8088dbde9209 (diff) |
backports:Backports for tegra 3.1 and 3.10 kernels
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/pcie/rx.c')
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/pcie/rx.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/rx.c b/drivers/net/wireless/intel/iwlwifi/pcie/rx.c index d15f5ba..0f6a767 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/rx.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/rx.c @@ -38,6 +38,33 @@ #include "internal.h" #include "iwl-op-mode.h" +#if LINUX_VERSION_IS_LESS(3,7,0) +/* + * atomic_dec_if_positive - decrement by 1 if old value positive + * @v: pointer of type atomic_t + * + * The function returns the old value of *v minus 1, even if + * the atomic variable, v, was not decremented. + */ +#ifndef atomic_dec_if_positive +static inline int atomic_dec_if_positive(atomic_t *v) +{ + int c, old, dec; + c = atomic_read(v); + for (;;) { + dec = c - 1; + if (unlikely(dec < 0)) + break; + old = atomic_cmpxchg((v), c, dec); + if (likely(old == c)) + break; + c = old; + } + return dec; +} +#endif +#endif + /****************************************************************************** * * RX path functions |