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

*** 179,196 **** void dphold(devplcy_t *dp) { ASSERT(dp->dp_ref != 0xdeadbeef && dp->dp_ref != 0); ! atomic_add_32(&dp->dp_ref, 1); } void dpfree(devplcy_t *dp) { ASSERT(dp->dp_ref != 0xdeadbeef && dp->dp_ref != 0); ! if (atomic_add_32_nv(&dp->dp_ref, -1) == 0) kmem_free(dp, sizeof (*dp)); } /* * Find the policy that matches this device. --- 179,196 ---- void dphold(devplcy_t *dp) { ASSERT(dp->dp_ref != 0xdeadbeef && dp->dp_ref != 0); ! atomic_inc_32(&dp->dp_ref); } void dpfree(devplcy_t *dp) { ASSERT(dp->dp_ref != 0xdeadbeef && dp->dp_ref != 0); ! if (atomic_dec_32_nv(&dp->dp_ref) == 0) kmem_free(dp, sizeof (*dp)); } /* * Find the policy that matches this device.