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


 756         fcoei_event_t           *ae;
 757         fcoe_frame_t            *frm;
 758 
 759         mutex_enter(&ss->ss_watchdog_mutex);
 760         while (!list_is_empty(&ss->ss_event_list)) {
 761                 ae = (fcoei_event_t *)list_head(&ss->ss_event_list);
 762                 list_remove(&ss->ss_event_list, ae);
 763                 switch (ae->ae_type) {
 764                 case AE_EVENT_SOL_FRAME:
 765                         frm = (fcoe_frame_t *)ae->ae_obj;
 766                         frm->frm_eport->eport_release_frame(frm);
 767                         break;
 768 
 769                 case AE_EVENT_UNSOL_FRAME:
 770                         frm = (fcoe_frame_t *)ae->ae_obj;
 771                         frm->frm_eport->eport_free_netb(frm->frm_netb);
 772                         frm->frm_eport->eport_release_frame(frm);
 773                         break;
 774 
 775                 case AE_EVENT_PORT:
 776                         atomic_add_32(&ss->ss_port_event_counter, -1);
 777                         /* FALLTHROUGH */
 778 
 779                 case AE_EVENT_RESET:
 780                         kmem_free(ae, sizeof (fcoei_event_t));
 781                         break;
 782 
 783                 case AE_EVENT_EXCHANGE:
 784                         /* FALLTHROUGH */
 785 
 786                 default:
 787                         break;
 788                 }
 789         }
 790 
 791         mod_hash_clear(ss->ss_unsol_rxid_hash);
 792         mod_hash_clear(ss->ss_sol_oxid_hash);
 793 
 794         while (!list_is_empty(&ss->ss_comp_xch_list)) {
 795                 (void) list_remove_head(&ss->ss_comp_xch_list);
 796         }




 756         fcoei_event_t           *ae;
 757         fcoe_frame_t            *frm;
 758 
 759         mutex_enter(&ss->ss_watchdog_mutex);
 760         while (!list_is_empty(&ss->ss_event_list)) {
 761                 ae = (fcoei_event_t *)list_head(&ss->ss_event_list);
 762                 list_remove(&ss->ss_event_list, ae);
 763                 switch (ae->ae_type) {
 764                 case AE_EVENT_SOL_FRAME:
 765                         frm = (fcoe_frame_t *)ae->ae_obj;
 766                         frm->frm_eport->eport_release_frame(frm);
 767                         break;
 768 
 769                 case AE_EVENT_UNSOL_FRAME:
 770                         frm = (fcoe_frame_t *)ae->ae_obj;
 771                         frm->frm_eport->eport_free_netb(frm->frm_netb);
 772                         frm->frm_eport->eport_release_frame(frm);
 773                         break;
 774 
 775                 case AE_EVENT_PORT:
 776                         atomic_dec_32(&ss->ss_port_event_counter);
 777                         /* FALLTHROUGH */
 778 
 779                 case AE_EVENT_RESET:
 780                         kmem_free(ae, sizeof (fcoei_event_t));
 781                         break;
 782 
 783                 case AE_EVENT_EXCHANGE:
 784                         /* FALLTHROUGH */
 785 
 786                 default:
 787                         break;
 788                 }
 789         }
 790 
 791         mod_hash_clear(ss->ss_unsol_rxid_hash);
 792         mod_hash_clear(ss->ss_sol_oxid_hash);
 793 
 794         while (!list_is_empty(&ss->ss_comp_xch_list)) {
 795                 (void) list_remove_head(&ss->ss_comp_xch_list);
 796         }