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

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/os/ddi_intr.c
          +++ new/usr/src/uts/common/os/ddi_intr.c
↓ open down ↓ 670 lines elided ↑ open up ↑
 671  671          }
 672  672  
 673  673          hdlp->ih_scratch1 = dup_inum;
 674  674          ret = i_ddi_intr_ops(hdlp->ih_dip, hdlp->ih_dip,
 675  675              DDI_INTROP_DUPVEC, hdlp, NULL);
 676  676  
 677  677          if (ret == DDI_SUCCESS) {
 678  678                  dup_hdlp = (ddi_intr_handle_impl_t *)
 679  679                      kmem_alloc(sizeof (ddi_intr_handle_impl_t), KM_SLEEP);
 680  680  
 681      -                atomic_add_32(&hdlp->ih_dup_cnt, 1);
      681 +                atomic_inc_32(&hdlp->ih_dup_cnt);
 682  682  
 683  683                  *dup = (ddi_intr_handle_t)dup_hdlp;
 684  684                  bcopy(hdlp, dup_hdlp, sizeof (ddi_intr_handle_impl_t));
 685  685  
 686  686                  /* These fields are unique to each dupped msi-x vector */
 687  687                  rw_init(&dup_hdlp->ih_rwlock, NULL, RW_DRIVER, NULL);
 688  688                  dup_hdlp->ih_state = DDI_IHDL_STATE_ADDED;
 689  689                  dup_hdlp->ih_inum = dup_inum;
 690  690                  dup_hdlp->ih_flags |= DDI_INTR_MSIX_DUP;
 691  691                  dup_hdlp->ih_dup_cnt = 0;
↓ open down ↓ 861 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX