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

*** 625,644 **** mp = &crypto_locks[CPU_SEQID]; mutex_enter(&mp->kl_lock); if ((cm = crypto_minors[minor - 1]) != NULL) { ! atomic_add_32(&cm->cm_refcnt, 1); } mutex_exit(&mp->kl_lock); return (cm); } static void crypto_release_minor(crypto_minor_t *cm) { ! if (atomic_add_32_nv(&cm->cm_refcnt, -1) == 0) { cv_signal(&cm->cm_cv); } } /* --- 625,644 ---- mp = &crypto_locks[CPU_SEQID]; mutex_enter(&mp->kl_lock); if ((cm = crypto_minors[minor - 1]) != NULL) { ! atomic_inc_32(&cm->cm_refcnt); } mutex_exit(&mp->kl_lock); return (cm); } static void crypto_release_minor(crypto_minor_t *cm) { ! if (atomic_dec_32_nv(&cm->cm_refcnt) == 0) { cv_signal(&cm->cm_cv); } } /*