Lines Matching refs:entry
182 struct hostap_cmd_queue *entry, in __hostap_cmd_queue_free() argument
186 entry->del_req = 1; in __hostap_cmd_queue_free()
187 if (!list_empty(&entry->list)) { in __hostap_cmd_queue_free()
188 list_del_init(&entry->list); in __hostap_cmd_queue_free()
193 if (atomic_dec_and_test(&entry->usecnt) && entry->del_req) in __hostap_cmd_queue_free()
194 kfree(entry); in __hostap_cmd_queue_free()
207 struct hostap_cmd_queue *entry, in hostap_cmd_queue_free() argument
213 __hostap_cmd_queue_free(local, entry, del_req); in hostap_cmd_queue_free()
226 struct hostap_cmd_queue *entry; in prism2_clear_cmd_queue() local
230 entry = list_entry(ptr, struct hostap_cmd_queue, list); in prism2_clear_cmd_queue()
231 atomic_inc(&entry->usecnt); in prism2_clear_cmd_queue()
234 local->dev->name, entry->type, entry->cmd, in prism2_clear_cmd_queue()
235 entry->param0); in prism2_clear_cmd_queue()
236 __hostap_cmd_queue_free(local, entry, 1); in prism2_clear_cmd_queue()
255 struct hostap_cmd_queue *entry) in hfa384x_cmd_issue() argument
269 if (entry->issued) { in hfa384x_cmd_issue()
271 dev->name, entry); in hfa384x_cmd_issue()
299 HFA384X_OUTW(entry->param0, HFA384X_PARAM0_OFF); in hfa384x_cmd_issue()
300 HFA384X_OUTW(entry->param1, HFA384X_PARAM1_OFF); in hfa384x_cmd_issue()
301 HFA384X_OUTW(entry->cmd, HFA384X_CMD_OFF); in hfa384x_cmd_issue()
302 entry->issued = 1; in hfa384x_cmd_issue()
328 struct hostap_cmd_queue *entry; in hfa384x_cmd() local
349 entry = kzalloc(sizeof(*entry), GFP_ATOMIC); in hfa384x_cmd()
350 if (entry == NULL) in hfa384x_cmd()
353 atomic_set(&entry->usecnt, 1); in hfa384x_cmd()
354 entry->type = CMD_SLEEP; in hfa384x_cmd()
355 entry->cmd = cmd; in hfa384x_cmd()
356 entry->param0 = param0; in hfa384x_cmd()
358 entry->param1 = *param1; in hfa384x_cmd()
359 init_waitqueue_head(&entry->compl); in hfa384x_cmd()
363 add_wait_queue(&entry->compl, &wait); in hfa384x_cmd()
369 entry->issuing = 1; in hfa384x_cmd()
370 list_add_tail(&entry->list, &local->cmd_queue); in hfa384x_cmd()
382 if (hfa384x_cmd_issue(dev, entry)) in hfa384x_cmd()
389 if (!err && entry->type != CMD_COMPLETED) { in hfa384x_cmd()
408 remove_wait_queue(&entry->compl, &wait); in hfa384x_cmd()
428 if (!list_empty(&entry->list)) { in hfa384x_cmd()
430 "(entry=%p, type=%d, res=%d)\n", dev->name, entry, in hfa384x_cmd()
431 entry->type, res); in hfa384x_cmd()
432 list_del_init(&entry->list); in hfa384x_cmd()
444 if (entry->type != CMD_COMPLETED) { in hfa384x_cmd()
449 res, entry, entry->type, entry->cmd, entry->param0, reg, in hfa384x_cmd()
464 *resp0 = entry->resp0; in hfa384x_cmd()
466 if (entry->res) { in hfa384x_cmd()
469 dev->name, cmd, entry->res, entry->resp0); in hfa384x_cmd()
473 res = entry->res; in hfa384x_cmd()
475 hostap_cmd_queue_free(local, entry, 1); in hfa384x_cmd()
504 struct hostap_cmd_queue *entry; in hfa384x_cmd_callback() local
515 entry = kzalloc(sizeof(*entry), GFP_ATOMIC); in hfa384x_cmd_callback()
516 if (entry == NULL) in hfa384x_cmd_callback()
519 atomic_set(&entry->usecnt, 1); in hfa384x_cmd_callback()
520 entry->type = CMD_CALLBACK; in hfa384x_cmd_callback()
521 entry->cmd = cmd; in hfa384x_cmd_callback()
522 entry->param0 = param0; in hfa384x_cmd_callback()
523 entry->callback = callback; in hfa384x_cmd_callback()
524 entry->context = context; in hfa384x_cmd_callback()
529 entry->issuing = 1; in hfa384x_cmd_callback()
530 list_add_tail(&entry->list, &local->cmd_queue); in hfa384x_cmd_callback()
534 if (issue && hfa384x_cmd_issue(dev, entry)) in hfa384x_cmd_callback()
539 hostap_cmd_queue_free(local, entry, ret); in hfa384x_cmd_callback()
660 struct hostap_cmd_queue *entry = NULL; in prism2_cmd_ev() local
667 entry = list_entry(local->cmd_queue.next, in prism2_cmd_ev()
669 atomic_inc(&entry->usecnt); in prism2_cmd_ev()
670 list_del_init(&entry->list); in prism2_cmd_ev()
673 if (!entry->issued) { in prism2_cmd_ev()
676 __hostap_cmd_queue_free(local, entry, 1); in prism2_cmd_ev()
677 entry = NULL; in prism2_cmd_ev()
682 if (!entry) { in prism2_cmd_ev()
689 entry->resp0 = HFA384X_INW(HFA384X_RESP0_OFF); in prism2_cmd_ev()
690 entry->res = (HFA384X_INW(HFA384X_STATUS_OFF) & in prism2_cmd_ev()
696 if (entry->type == CMD_SLEEP) { in prism2_cmd_ev()
697 entry->type = CMD_COMPLETED; in prism2_cmd_ev()
698 wake_up_interruptible(&entry->compl); in prism2_cmd_ev()
699 } else if (entry->type == CMD_CALLBACK) { in prism2_cmd_ev()
700 if (entry->callback) in prism2_cmd_ev()
701 entry->callback(dev, entry->context, entry->resp0, in prism2_cmd_ev()
702 entry->res); in prism2_cmd_ev()
705 dev->name, entry->type); in prism2_cmd_ev()
707 hostap_cmd_queue_free(local, entry, 1); in prism2_cmd_ev()
710 entry = NULL; in prism2_cmd_ev()
713 entry = list_entry(local->cmd_queue.next, in prism2_cmd_ev()
715 if (entry->issuing) { in prism2_cmd_ev()
718 entry = NULL; in prism2_cmd_ev()
720 if (entry) in prism2_cmd_ev()
721 atomic_inc(&entry->usecnt); in prism2_cmd_ev()
725 if (entry) { in prism2_cmd_ev()
728 int res = hfa384x_cmd_issue(dev, entry); in prism2_cmd_ev()
730 __hostap_cmd_queue_free(local, entry, res); in prism2_cmd_ev()
2991 struct set_tim_data *entry = in prism2_set_tim() local
2993 if (entry->aid == aid) { in prism2_set_tim()
2996 local->dev->name, aid, entry->set, set); in prism2_set_tim()
2997 entry->set = set; in prism2_set_tim()
3016 struct set_tim_data *entry; in handle_set_tim_queue() local
3020 entry = NULL; in handle_set_tim_queue()
3023 entry = list_entry(local->set_tim_list.next, in handle_set_tim_queue()
3025 list_del(&entry->list); in handle_set_tim_queue()
3028 if (!entry) in handle_set_tim_queue()
3032 local->dev->name, entry->aid, entry->set); in handle_set_tim_queue()
3034 val = entry->aid; in handle_set_tim_queue()
3035 if (entry->set) in handle_set_tim_queue()
3040 local->dev->name, entry->aid, entry->set); in handle_set_tim_queue()
3043 kfree(entry); in handle_set_tim_queue()
3053 struct set_tim_data *entry; in prism2_clear_set_tim_queue() local
3054 entry = list_entry(ptr, struct set_tim_data, list); in prism2_clear_set_tim_queue()
3055 list_del(&entry->list); in prism2_clear_set_tim_queue()
3056 kfree(entry); in prism2_clear_set_tim_queue()