Lines Matching refs:work

62 	struct work_struct work;  member
109 struct iwcm_work *work; in get_work() local
113 work = list_entry(cm_id_priv->work_free_list.next, struct iwcm_work, in get_work()
115 list_del_init(&work->free_list); in get_work()
116 return work; in get_work()
119 static void put_work(struct iwcm_work *work) in put_work() argument
121 list_add(&work->free_list, &work->cm_id->work_free_list); in put_work()
134 struct iwcm_work *work; in alloc_work_entries() local
138 work = kmalloc(sizeof(struct iwcm_work), GFP_KERNEL); in alloc_work_entries()
139 if (!work) { in alloc_work_entries()
143 work->cm_id = cm_id_priv; in alloc_work_entries()
144 INIT_LIST_HEAD(&work->list); in alloc_work_entries()
145 put_work(work); in alloc_work_entries()
872 struct iwcm_work *work = container_of(_work, struct iwcm_work, work); in cm_work_handler() local
874 struct iwcm_id_private *cm_id_priv = work->cm_id; in cm_work_handler()
883 work = list_entry(cm_id_priv->work_list.next, in cm_work_handler()
885 list_del_init(&work->list); in cm_work_handler()
887 levent = work->event; in cm_work_handler()
888 put_work(work); in cm_work_handler()
930 struct iwcm_work *work; in cm_event_handler() local
938 work = get_work(cm_id_priv); in cm_event_handler()
939 if (!work) { in cm_event_handler()
944 INIT_WORK(&work->work, cm_work_handler); in cm_event_handler()
945 work->cm_id = cm_id_priv; in cm_event_handler()
946 work->event = *iw_event; in cm_event_handler()
948 if ((work->event.event == IW_CM_EVENT_CONNECT_REQUEST || in cm_event_handler()
949 work->event.event == IW_CM_EVENT_CONNECT_REPLY) && in cm_event_handler()
950 work->event.private_data_len) { in cm_event_handler()
951 ret = copy_private_data(&work->event); in cm_event_handler()
953 put_work(work); in cm_event_handler()
960 list_add_tail(&work->list, &cm_id_priv->work_list); in cm_event_handler()
961 queue_work(iwcm_wq, &work->work); in cm_event_handler()
963 list_add_tail(&work->list, &cm_id_priv->work_list); in cm_event_handler()