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

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/crypto/io/crypto.c
          +++ new/usr/src/uts/common/crypto/io/crypto.c
↓ open down ↓ 619 lines elided ↑ open up ↑
 620  620          crypto_minor_t *cm;
 621  621          kcf_lock_withpad_t *mp;
 622  622  
 623  623          if (minor > crypto_minors_table_count)
 624  624                  return (NULL);
 625  625  
 626  626          mp = &crypto_locks[CPU_SEQID];
 627  627          mutex_enter(&mp->kl_lock);
 628  628  
 629  629          if ((cm = crypto_minors[minor - 1]) != NULL) {
 630      -                atomic_add_32(&cm->cm_refcnt, 1);
      630 +                atomic_inc_32(&cm->cm_refcnt);
 631  631          }
 632  632          mutex_exit(&mp->kl_lock);
 633  633          return (cm);
 634  634  }
 635  635  
 636  636  static void
 637  637  crypto_release_minor(crypto_minor_t *cm)
 638  638  {
 639      -        if (atomic_add_32_nv(&cm->cm_refcnt, -1) == 0) {
      639 +        if (atomic_dec_32_nv(&cm->cm_refcnt) == 0) {
 640  640                  cv_signal(&cm->cm_cv);
 641  641          }
 642  642  }
 643  643  
 644  644  /*
 645  645   * Build a list of functions and other information for the provider, pd.
 646  646   */
 647  647  static void
 648  648  crypto_build_function_list(crypto_function_list_t *fl, kcf_provider_desc_t *pd)
 649  649  {
↓ open down ↓ 6118 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX