Lines Matching refs:evt
106 struct lpfc_bsg_event *evt;
803 struct lpfc_bsg_event *evt = container_of(kref, struct lpfc_bsg_event,
807 list_del(&evt->node);
809 while (!list_empty(&evt->events_to_get)) {
810 ed = list_entry(evt->events_to_get.next, typeof(*ed), node);
816 while (!list_empty(&evt->events_to_see)) {
817 ed = list_entry(evt->events_to_see.next, typeof(*ed), node);
823 kfree(evt->dd_data);
824 kfree(evt);
829 * @evt: Pointer to an event structure.
832 lpfc_bsg_event_ref(struct lpfc_bsg_event *evt)
834 kref_get(&evt->kref);
839 * @evt: Pointer to an event structure.
842 lpfc_bsg_event_unref(struct lpfc_bsg_event *evt)
844 kref_put(&evt->kref, lpfc_bsg_event_free);
856 struct lpfc_bsg_event *evt = kzalloc(sizeof(*evt), GFP_KERNEL);
858 if (!evt)
861 INIT_LIST_HEAD(&evt->events_to_get);
862 INIT_LIST_HEAD(&evt->events_to_see);
863 evt->type_mask = ev_mask;
864 evt->req_id = ev_req_id;
865 evt->reg_id = ev_reg_id;
866 evt->wait_time_stamp = jiffies;
867 evt->dd_data = NULL;
868 init_waitqueue_head(&evt->wq);
869 kref_init(&evt->kref);
870 return evt;
921 struct lpfc_bsg_event *evt;
966 list_for_each_entry(evt, &phba->ct_ev_waiters, node) {
967 if (!(evt->type_mask & FC_REG_CT_EVENT) ||
968 evt->req_id != evt_req_id)
971 lpfc_bsg_event_ref(evt);
976 lpfc_bsg_event_unref(evt);
1003 lpfc_bsg_event_unref(evt);
1049 lpfc_bsg_event_unref(evt);
1123 list_add(&evt_dat->node, &evt->events_to_see);
1125 wake_up_interruptible(&evt->wq);
1126 lpfc_bsg_event_unref(evt);
1130 list_move(evt->events_to_see.prev, &evt->events_to_get);
1132 dd_data = (struct bsg_job_data *)evt->dd_data;
1135 lpfc_bsg_event_unref(evt);
1212 struct lpfc_bsg_event *evt;
1232 list_for_each_entry(evt, &phba->ct_ev_waiters, node) {
1233 if (evt->reg_id == event_req->ev_reg_id) {
1234 lpfc_bsg_event_ref(evt);
1235 evt->wait_time_stamp = jiffies;
1236 dd_data = (struct bsg_job_data *)evt->dd_data;
1242 if (&evt->node == &phba->ct_ev_waiters) {
1251 evt = lpfc_bsg_event_new(ev_mask, event_req->ev_reg_id,
1253 if (!evt) {
1262 dd_data->context_un.evt = evt;
1263 evt->dd_data = (void *)dd_data;
1265 list_add(&evt->node, &phba->ct_ev_waiters);
1266 lpfc_bsg_event_ref(evt);
1267 evt->wait_time_stamp = jiffies;
1272 evt->waiting = 1;
1297 struct lpfc_bsg_event *evt, *evt_next;
1317 list_for_each_entry_safe(evt, evt_next, &phba->ct_ev_waiters, node) {
1318 if (evt->reg_id == event_req->ev_reg_id) {
1319 if (list_empty(&evt->events_to_get))
1321 lpfc_bsg_event_ref(evt);
1322 evt->wait_time_stamp = jiffies;
1323 evt_dat = list_entry(evt->events_to_get.prev,
1364 lpfc_bsg_event_unref(evt);
2648 struct lpfc_bsg_event *evt;
2661 evt = lpfc_bsg_event_new(FC_REG_CT_EVENT, current->pid,
2663 if (!evt)
2667 list_add(&evt->node, &phba->ct_ev_waiters);
2668 lpfc_bsg_event_ref(evt);
2744 evt->waiting = 1;
2745 evt->wait_time_stamp = jiffies;
2747 evt->wq, !list_empty(&evt->events_to_see),
2750 if (list_empty(&evt->events_to_see))
2754 list_move(evt->events_to_see.prev, &evt->events_to_get);
2756 *rxxri = (list_entry(evt->events_to_get.prev,
2760 evt->waiting = 0;
2764 lpfc_bsg_event_unref(evt); /* release ref */
2765 lpfc_bsg_event_unref(evt); /* delete */
3101 struct lpfc_bsg_event *evt;
3208 evt = lpfc_bsg_event_new(FC_REG_CT_EVENT, current->pid,
3210 if (!evt) {
3217 list_add(&evt->node, &phba->ct_ev_waiters);
3218 lpfc_bsg_event_ref(evt);
3321 evt->waiting = 1;
3323 evt->wq, !list_empty(&evt->events_to_see),
3326 evt->waiting = 0;
3327 if (list_empty(&evt->events_to_see)) {
3334 list_move(evt->events_to_see.prev, &evt->events_to_get);
3335 evdat = list_entry(evt->events_to_get.prev,
3364 lpfc_bsg_event_unref(evt); /* release ref */
3365 lpfc_bsg_event_unref(evt); /* delete */