Lines Matching refs:evt

102 		struct lpfc_bsg_event *evt;  member
790 struct lpfc_bsg_event *evt = container_of(kref, struct lpfc_bsg_event, in lpfc_bsg_event_free() local
794 list_del(&evt->node); in lpfc_bsg_event_free()
796 while (!list_empty(&evt->events_to_get)) { in lpfc_bsg_event_free()
797 ed = list_entry(evt->events_to_get.next, typeof(*ed), node); in lpfc_bsg_event_free()
803 while (!list_empty(&evt->events_to_see)) { in lpfc_bsg_event_free()
804 ed = list_entry(evt->events_to_see.next, typeof(*ed), node); in lpfc_bsg_event_free()
810 kfree(evt->dd_data); in lpfc_bsg_event_free()
811 kfree(evt); in lpfc_bsg_event_free()
819 lpfc_bsg_event_ref(struct lpfc_bsg_event *evt) in lpfc_bsg_event_ref() argument
821 kref_get(&evt->kref); in lpfc_bsg_event_ref()
829 lpfc_bsg_event_unref(struct lpfc_bsg_event *evt) in lpfc_bsg_event_unref() argument
831 kref_put(&evt->kref, lpfc_bsg_event_free); in lpfc_bsg_event_unref()
843 struct lpfc_bsg_event *evt = kzalloc(sizeof(*evt), GFP_KERNEL); in lpfc_bsg_event_new() local
845 if (!evt) in lpfc_bsg_event_new()
848 INIT_LIST_HEAD(&evt->events_to_get); in lpfc_bsg_event_new()
849 INIT_LIST_HEAD(&evt->events_to_see); in lpfc_bsg_event_new()
850 evt->type_mask = ev_mask; in lpfc_bsg_event_new()
851 evt->req_id = ev_req_id; in lpfc_bsg_event_new()
852 evt->reg_id = ev_reg_id; in lpfc_bsg_event_new()
853 evt->wait_time_stamp = jiffies; in lpfc_bsg_event_new()
854 evt->dd_data = NULL; in lpfc_bsg_event_new()
855 init_waitqueue_head(&evt->wq); in lpfc_bsg_event_new()
856 kref_init(&evt->kref); in lpfc_bsg_event_new()
857 return evt; in lpfc_bsg_event_new()
909 struct lpfc_bsg_event *evt; in lpfc_bsg_ct_unsol_event() local
954 list_for_each_entry(evt, &phba->ct_ev_waiters, node) { in lpfc_bsg_ct_unsol_event()
955 if (!(evt->type_mask & FC_REG_CT_EVENT) || in lpfc_bsg_ct_unsol_event()
956 evt->req_id != evt_req_id) in lpfc_bsg_ct_unsol_event()
959 lpfc_bsg_event_ref(evt); in lpfc_bsg_ct_unsol_event()
964 lpfc_bsg_event_unref(evt); in lpfc_bsg_ct_unsol_event()
991 lpfc_bsg_event_unref(evt); in lpfc_bsg_ct_unsol_event()
1037 lpfc_bsg_event_unref(evt); in lpfc_bsg_ct_unsol_event()
1111 list_add(&evt_dat->node, &evt->events_to_see); in lpfc_bsg_ct_unsol_event()
1113 wake_up_interruptible(&evt->wq); in lpfc_bsg_ct_unsol_event()
1114 lpfc_bsg_event_unref(evt); in lpfc_bsg_ct_unsol_event()
1118 list_move(evt->events_to_see.prev, &evt->events_to_get); in lpfc_bsg_ct_unsol_event()
1120 dd_data = (struct bsg_job_data *)evt->dd_data; in lpfc_bsg_ct_unsol_event()
1123 lpfc_bsg_event_unref(evt); in lpfc_bsg_ct_unsol_event()
1197 struct lpfc_bsg_event *evt; in lpfc_bsg_hba_set_event() local
1217 list_for_each_entry(evt, &phba->ct_ev_waiters, node) { in lpfc_bsg_hba_set_event()
1218 if (evt->reg_id == event_req->ev_reg_id) { in lpfc_bsg_hba_set_event()
1219 lpfc_bsg_event_ref(evt); in lpfc_bsg_hba_set_event()
1220 evt->wait_time_stamp = jiffies; in lpfc_bsg_hba_set_event()
1221 dd_data = (struct bsg_job_data *)evt->dd_data; in lpfc_bsg_hba_set_event()
1227 if (&evt->node == &phba->ct_ev_waiters) { in lpfc_bsg_hba_set_event()
1236 evt = lpfc_bsg_event_new(ev_mask, event_req->ev_reg_id, in lpfc_bsg_hba_set_event()
1238 if (!evt) { in lpfc_bsg_hba_set_event()
1247 dd_data->context_un.evt = evt; in lpfc_bsg_hba_set_event()
1248 evt->dd_data = (void *)dd_data; in lpfc_bsg_hba_set_event()
1250 list_add(&evt->node, &phba->ct_ev_waiters); in lpfc_bsg_hba_set_event()
1251 lpfc_bsg_event_ref(evt); in lpfc_bsg_hba_set_event()
1252 evt->wait_time_stamp = jiffies; in lpfc_bsg_hba_set_event()
1257 evt->waiting = 1; in lpfc_bsg_hba_set_event()
1282 struct lpfc_bsg_event *evt, *evt_next; in lpfc_bsg_hba_get_event() local
1302 list_for_each_entry_safe(evt, evt_next, &phba->ct_ev_waiters, node) { in lpfc_bsg_hba_get_event()
1303 if (evt->reg_id == event_req->ev_reg_id) { in lpfc_bsg_hba_get_event()
1304 if (list_empty(&evt->events_to_get)) in lpfc_bsg_hba_get_event()
1306 lpfc_bsg_event_ref(evt); in lpfc_bsg_hba_get_event()
1307 evt->wait_time_stamp = jiffies; in lpfc_bsg_hba_get_event()
1308 evt_dat = list_entry(evt->events_to_get.prev, in lpfc_bsg_hba_get_event()
1349 lpfc_bsg_event_unref(evt); in lpfc_bsg_hba_get_event()
2537 struct lpfc_bsg_event *evt; in lpfcdiag_loop_get_xri() local
2550 evt = lpfc_bsg_event_new(FC_REG_CT_EVENT, current->pid, in lpfcdiag_loop_get_xri()
2552 if (!evt) in lpfcdiag_loop_get_xri()
2556 list_add(&evt->node, &phba->ct_ev_waiters); in lpfcdiag_loop_get_xri()
2557 lpfc_bsg_event_ref(evt); in lpfcdiag_loop_get_xri()
2633 evt->waiting = 1; in lpfcdiag_loop_get_xri()
2634 evt->wait_time_stamp = jiffies; in lpfcdiag_loop_get_xri()
2636 evt->wq, !list_empty(&evt->events_to_see), in lpfcdiag_loop_get_xri()
2639 if (list_empty(&evt->events_to_see)) in lpfcdiag_loop_get_xri()
2643 list_move(evt->events_to_see.prev, &evt->events_to_get); in lpfcdiag_loop_get_xri()
2645 *rxxri = (list_entry(evt->events_to_get.prev, in lpfcdiag_loop_get_xri()
2649 evt->waiting = 0; in lpfcdiag_loop_get_xri()
2653 lpfc_bsg_event_unref(evt); /* release ref */ in lpfcdiag_loop_get_xri()
2654 lpfc_bsg_event_unref(evt); /* delete */ in lpfcdiag_loop_get_xri()
2992 struct lpfc_bsg_event *evt; in lpfc_bsg_diag_loopback_run() local
3101 evt = lpfc_bsg_event_new(FC_REG_CT_EVENT, current->pid, in lpfc_bsg_diag_loopback_run()
3103 if (!evt) { in lpfc_bsg_diag_loopback_run()
3110 list_add(&evt->node, &phba->ct_ev_waiters); in lpfc_bsg_diag_loopback_run()
3111 lpfc_bsg_event_ref(evt); in lpfc_bsg_diag_loopback_run()
3214 evt->waiting = 1; in lpfc_bsg_diag_loopback_run()
3216 evt->wq, !list_empty(&evt->events_to_see), in lpfc_bsg_diag_loopback_run()
3219 evt->waiting = 0; in lpfc_bsg_diag_loopback_run()
3220 if (list_empty(&evt->events_to_see)) { in lpfc_bsg_diag_loopback_run()
3227 list_move(evt->events_to_see.prev, &evt->events_to_get); in lpfc_bsg_diag_loopback_run()
3228 evdat = list_entry(evt->events_to_get.prev, in lpfc_bsg_diag_loopback_run()
3257 lpfc_bsg_event_unref(evt); /* release ref */ in lpfc_bsg_diag_loopback_run()
3258 lpfc_bsg_event_unref(evt); /* delete */ in lpfc_bsg_diag_loopback_run()