diff --git a/qdf/inc/qdf_atomic.h b/qdf/inc/qdf_atomic.h index d788ec3b68..fd31603367 100644 --- a/qdf/inc/qdf_atomic.h +++ b/qdf/inc/qdf_atomic.h @@ -154,6 +154,18 @@ static inline int32_t qdf_atomic_dec_return(qdf_atomic_t *v) return __qdf_atomic_dec_return(v); } +/** + * qdf_atomic_dec_if_positive() - Decrement an atomic variable if its + * value is positive + * @v: A pointer to an opaque atomic variable + * + * Return: The old value of the variable minus 1 + */ +static inline int32_t qdf_atomic_dec_if_positive(qdf_atomic_t *v) +{ + return __qdf_atomic_dec_if_positive(v); +} + /** * qdf_atomic_inc_not_zero() - increment if not zero * @v: A pointer to an opaque atomic variable diff --git a/qdf/linux/src/i_qdf_atomic.h b/qdf/linux/src/i_qdf_atomic.h index b62e2a58ea..c3c0c49c33 100644 --- a/qdf/linux/src/i_qdf_atomic.h +++ b/qdf/linux/src/i_qdf_atomic.h @@ -149,6 +149,18 @@ static inline int32_t __qdf_atomic_dec_return(__qdf_atomic_t *v) return atomic_dec_return(v); } +/** + * __qdf_atomic_dec_if_positive() - Decrement an atomic variable if its + * value is positive + * @v: A pointer to an opaque atomic variable + * + * Return: The old value of the variable minus 1 + */ +static inline int32_t __qdf_atomic_dec_if_positive(__qdf_atomic_t *v) +{ + return atomic_dec_if_positive(v); +} + /** * __qdf_atomic_inc_not_zero() - increment if not zero * @v: A pointer to an opaque atomic variable