Lines Matching refs:nlmsg_request
310 struct iwpm_nlmsg_request *nlmsg_request;
313 nlmsg_request = kzalloc(sizeof(struct iwpm_nlmsg_request), gfp);
314 if (!nlmsg_request)
318 list_add_tail(&nlmsg_request->inprocess_list, &iwpm_nlmsg_req_list);
321 kref_init(&nlmsg_request->kref);
322 kref_get(&nlmsg_request->kref);
323 nlmsg_request->nlmsg_seq = nlmsg_seq;
324 nlmsg_request->nl_client = nl_client;
325 nlmsg_request->request_done = 0;
326 nlmsg_request->err_code = 0;
327 sema_init(&nlmsg_request->sem, 1);
328 down(&nlmsg_request->sem);
329 return nlmsg_request;
334 struct iwpm_nlmsg_request *nlmsg_request;
337 nlmsg_request = container_of(kref, struct iwpm_nlmsg_request, kref);
340 list_del_init(&nlmsg_request->inprocess_list);
343 if (!nlmsg_request->request_done)
345 __func__, nlmsg_request->nlmsg_seq);
346 kfree(nlmsg_request);
351 struct iwpm_nlmsg_request *nlmsg_request;
356 list_for_each_entry(nlmsg_request, &iwpm_nlmsg_req_list,
358 if (nlmsg_request->nlmsg_seq == echo_seq) {
359 found_request = nlmsg_request;
360 kref_get(&nlmsg_request->kref);
368 int iwpm_wait_complete_req(struct iwpm_nlmsg_request *nlmsg_request)
372 ret = down_timeout(&nlmsg_request->sem, IWPM_NL_TIMEOUT);
376 __func__, (IWPM_NL_TIMEOUT/HZ), nlmsg_request->nlmsg_seq);
378 ret = nlmsg_request->err_code;
380 kref_put(&nlmsg_request->kref, iwpm_free_nlmsg_request);