Lines Matching refs:evt
98 struct lpfc_bsg_event *evt;
779 struct lpfc_bsg_event *evt = container_of(kref, struct lpfc_bsg_event,
783 list_del(&evt->node);
785 while (!list_empty(&evt->events_to_get)) {
786 ed = list_entry(evt->events_to_get.next, typeof(*ed), node);
792 while (!list_empty(&evt->events_to_see)) {
793 ed = list_entry(evt->events_to_see.next, typeof(*ed), node);
799 kfree(evt->dd_data);
800 kfree(evt);
805 * @evt: Pointer to an event structure.
808 lpfc_bsg_event_ref(struct lpfc_bsg_event *evt)
810 kref_get(&evt->kref);
815 * @evt: Pointer to an event structure.
818 lpfc_bsg_event_unref(struct lpfc_bsg_event *evt)
820 kref_put(&evt->kref, lpfc_bsg_event_free);
832 struct lpfc_bsg_event *evt = kzalloc(sizeof(*evt), GFP_KERNEL);
834 if (!evt)
837 INIT_LIST_HEAD(&evt->events_to_get);
838 INIT_LIST_HEAD(&evt->events_to_see);
839 evt->type_mask = ev_mask;
840 evt->req_id = ev_req_id;
841 evt->reg_id = ev_reg_id;
842 evt->wait_time_stamp = jiffies;
843 evt->dd_data = NULL;
844 init_waitqueue_head(&evt->wq);
845 kref_init(&evt->kref);
846 return evt;
894 struct lpfc_bsg_event *evt;
921 list_for_each_entry(evt, &phba->ct_ev_waiters, node) {
922 if (!(evt->type_mask & FC_REG_CT_EVENT) ||
923 evt->req_id != evt_req_id)
926 lpfc_bsg_event_ref(evt);
931 lpfc_bsg_event_unref(evt);
963 lpfc_bsg_event_unref(evt);
1008 lpfc_bsg_event_unref(evt);
1083 list_add(&evt_dat->node, &evt->events_to_see);
1085 wake_up_interruptible(&evt->wq);
1086 lpfc_bsg_event_unref(evt);
1090 list_move(evt->events_to_see.prev, &evt->events_to_get);
1092 dd_data = (struct bsg_job_data *)evt->dd_data;
1095 lpfc_bsg_event_unref(evt);
1172 struct lpfc_bsg_event *evt;
1192 list_for_each_entry(evt, &phba->ct_ev_waiters, node) {
1193 if (evt->reg_id == event_req->ev_reg_id) {
1194 lpfc_bsg_event_ref(evt);
1195 evt->wait_time_stamp = jiffies;
1196 dd_data = (struct bsg_job_data *)evt->dd_data;
1202 if (&evt->node == &phba->ct_ev_waiters) {
1211 evt = lpfc_bsg_event_new(ev_mask, event_req->ev_reg_id,
1213 if (!evt) {
1222 dd_data->context_un.evt = evt;
1223 evt->dd_data = (void *)dd_data;
1225 list_add(&evt->node, &phba->ct_ev_waiters);
1226 lpfc_bsg_event_ref(evt);
1227 evt->wait_time_stamp = jiffies;
1232 evt->waiting = 1;
1257 struct lpfc_bsg_event *evt, *evt_next;
1277 list_for_each_entry_safe(evt, evt_next, &phba->ct_ev_waiters, node) {
1278 if (evt->reg_id == event_req->ev_reg_id) {
1279 if (list_empty(&evt->events_to_get))
1281 lpfc_bsg_event_ref(evt);
1282 evt->wait_time_stamp = jiffies;
1283 evt_dat = list_entry(evt->events_to_get.prev,
1324 lpfc_bsg_event_unref(evt);
2591 struct lpfc_bsg_event *evt;
2604 evt = lpfc_bsg_event_new(FC_REG_CT_EVENT, current->pid,
2606 if (!evt)
2610 list_add(&evt->node, &phba->ct_ev_waiters);
2611 lpfc_bsg_event_ref(evt);
2672 evt->waiting = 1;
2673 evt->wait_time_stamp = jiffies;
2675 evt->wq, !list_empty(&evt->events_to_see),
2678 if (list_empty(&evt->events_to_see))
2682 list_move(evt->events_to_see.prev, &evt->events_to_get);
2684 *rxxri = (list_entry(evt->events_to_get.prev,
2688 evt->waiting = 0;
2692 lpfc_bsg_event_unref(evt); /* release ref */
2693 lpfc_bsg_event_unref(evt); /* delete */
3027 struct lpfc_bsg_event *evt;
3134 evt = lpfc_bsg_event_new(FC_REG_CT_EVENT, current->pid,
3136 if (!evt) {
3143 list_add(&evt->node, &phba->ct_ev_waiters);
3144 lpfc_bsg_event_ref(evt);
3241 evt->waiting = 1;
3243 evt->wq, !list_empty(&evt->events_to_see),
3246 evt->waiting = 0;
3247 if (list_empty(&evt->events_to_see)) {
3254 list_move(evt->events_to_see.prev, &evt->events_to_get);
3255 evdat = list_entry(evt->events_to_get.prev,
3284 lpfc_bsg_event_unref(evt); /* release ref */
3285 lpfc_bsg_event_unref(evt); /* delete */