Print this page
5045 use atomic_{inc,dec}_* instead of atomic_add_*

@@ -115,12 +115,12 @@
         error == CRYPTO_DEVICE_ERROR ||         \
         error == CRYPTO_DEVICE_MEMORY ||        \
         error == CRYPTO_KEY_SIZE_RANGE ||       \
         error == CRYPTO_NO_PERMISSION)
 
-#define KCF_ATOMIC_INCR(x)      atomic_add_32(&(x), 1)
-#define KCF_ATOMIC_DECR(x)      atomic_add_32(&(x), -1)
+#define KCF_ATOMIC_INCR(x)      atomic_inc_32(&(x))
+#define KCF_ATOMIC_DECR(x)      atomic_dec_32(&(x))
 
 /*
  * Node structure for synchronous requests.
  */
 typedef struct kcf_sreq_node {

@@ -208,18 +208,18 @@
         kcondvar_t              an_done;        /* Signal request completion */
         uint_t                  an_refcnt;
 } kcf_areq_node_t;
 
 #define KCF_AREQ_REFHOLD(areq) {                \
-        atomic_add_32(&(areq)->an_refcnt, 1);   \
+        atomic_inc_32(&(areq)->an_refcnt);      \
         ASSERT((areq)->an_refcnt != 0);         \
 }
 
 #define KCF_AREQ_REFRELE(areq) {                                \
         ASSERT((areq)->an_refcnt != 0);                         \
         membar_exit();                                          \
-        if (atomic_add_32_nv(&(areq)->an_refcnt, -1) == 0)      \
+        if (atomic_dec_32_nv(&(areq)->an_refcnt) == 0)  \
                 kcf_free_req(areq);                             \
 }
 
 #define GET_REQ_TYPE(arg) *((kcf_call_type_t *)(arg))
 

@@ -312,11 +312,11 @@
  * Bump up the reference count on the framework private context. A
  * global context or a request that references this structure should
  * do a hold.
  */
 #define KCF_CONTEXT_REFHOLD(ictx) {             \
-        atomic_add_32(&(ictx)->kc_refcnt, 1);   \
+        atomic_inc_32(&(ictx)->kc_refcnt);      \
         ASSERT((ictx)->kc_refcnt != 0);         \
 }
 
 /*
  * Decrement the reference count on the framework private context.

@@ -324,11 +324,11 @@
  * context structure is freed along with the global context.
  */
 #define KCF_CONTEXT_REFRELE(ictx) {                             \
         ASSERT((ictx)->kc_refcnt != 0);                         \
         membar_exit();                                          \
-        if (atomic_add_32_nv(&(ictx)->kc_refcnt, -1) == 0)      \
+        if (atomic_dec_32_nv(&(ictx)->kc_refcnt) == 0)  \
                 kcf_free_context(ictx);                         \
 }
 
 /*
  * Check if we can release the context now. In case of CRYPTO_QUEUED