Lines Matching refs:item

72 	struct cw1200_queue_item *item, *tmp;  in cw1200_queue_post_gc()  local
74 list_for_each_entry_safe(item, tmp, gc_list, head) { in cw1200_queue_post_gc()
75 list_del(&item->head); in cw1200_queue_post_gc()
76 stats->skb_dtor(stats->priv, item->skb, &item->txpriv); in cw1200_queue_post_gc()
77 kfree(item); in cw1200_queue_post_gc()
82 struct cw1200_queue_item *item) in cw1200_queue_register_post_gc() argument
88 memcpy(gc_item, item, sizeof(struct cw1200_queue_item)); in cw1200_queue_register_post_gc()
97 struct cw1200_queue_item *item = NULL, *tmp; in __cw1200_queue_gc() local
100 list_for_each_entry_safe(item, tmp, &queue->queue, head) { in __cw1200_queue_gc()
101 if (jiffies - item->queue_timestamp < queue->ttl) in __cw1200_queue_gc()
104 --queue->link_map_cache[item->txpriv.link_id]; in __cw1200_queue_gc()
107 if (!--stats->link_map_cache[item->txpriv.link_id]) in __cw1200_queue_gc()
111 cw1200_queue_register_post_gc(head, item); in __cw1200_queue_gc()
112 item->skb = NULL; in __cw1200_queue_gc()
113 list_move_tail(&item->head, &queue->free_pool); in __cw1200_queue_gc()
124 } else if (item) { in __cw1200_queue_gc()
125 unsigned long tmo = item->queue_timestamp + queue->ttl; in __cw1200_queue_gc()
208 struct cw1200_queue_item *item, *tmp; in cw1200_queue_clear() local
213 list_for_each_entry_safe(item, tmp, &queue->pending, head) { in cw1200_queue_clear()
214 WARN_ON(!item->skb); in cw1200_queue_clear()
215 cw1200_queue_register_post_gc(&gc_list, item); in cw1200_queue_clear()
216 item->skb = NULL; in cw1200_queue_clear()
217 list_move_tail(&item->head, &queue->free_pool); in cw1200_queue_clear()
294 struct cw1200_queue_item *item = list_first_entry( in cw1200_queue_put() local
296 BUG_ON(item->skb); in cw1200_queue_put()
298 list_move_tail(&item->head, &queue->queue); in cw1200_queue_put()
299 item->skb = skb; in cw1200_queue_put()
300 item->txpriv = *txpriv; in cw1200_queue_put()
301 item->generation = 0; in cw1200_queue_put()
302 item->packet_id = cw1200_queue_mk_packet_id(queue->generation, in cw1200_queue_put()
304 item->generation, in cw1200_queue_put()
305 item - queue->pool); in cw1200_queue_put()
306 item->queue_timestamp = jiffies; in cw1200_queue_put()
340 struct cw1200_queue_item *item; in cw1200_queue_get() local
345 list_for_each_entry(item, &queue->queue, head) { in cw1200_queue_get()
346 if (link_id_map & BIT(item->txpriv.link_id)) { in cw1200_queue_get()
353 *tx = (struct wsm_tx *)item->skb->data; in cw1200_queue_get()
354 *tx_info = IEEE80211_SKB_CB(item->skb); in cw1200_queue_get()
355 *txpriv = &item->txpriv; in cw1200_queue_get()
356 (*tx)->packet_id = item->packet_id; in cw1200_queue_get()
357 list_move_tail(&item->head, &queue->pending); in cw1200_queue_get()
359 --queue->link_map_cache[item->txpriv.link_id]; in cw1200_queue_get()
360 item->xmit_timestamp = jiffies; in cw1200_queue_get()
364 if (!--stats->link_map_cache[item->txpriv.link_id]) in cw1200_queue_get()
378 struct cw1200_queue_item *item; in cw1200_queue_requeue() local
384 item = &queue->pool[item_id]; in cw1200_queue_requeue()
393 } else if (item->generation != item_generation) { in cw1200_queue_requeue()
398 ++queue->link_map_cache[item->txpriv.link_id]; in cw1200_queue_requeue()
402 ++stats->link_map_cache[item->txpriv.link_id]; in cw1200_queue_requeue()
405 item->generation = ++item_generation; in cw1200_queue_requeue()
406 item->packet_id = cw1200_queue_mk_packet_id(queue_generation, in cw1200_queue_requeue()
410 list_move(&item->head, &queue->queue); in cw1200_queue_requeue()
418 struct cw1200_queue_item *item, *tmp; in cw1200_queue_requeue_all() local
422 list_for_each_entry_safe_reverse(item, tmp, &queue->pending, head) { in cw1200_queue_requeue_all()
424 ++queue->link_map_cache[item->txpriv.link_id]; in cw1200_queue_requeue_all()
428 ++stats->link_map_cache[item->txpriv.link_id]; in cw1200_queue_requeue_all()
431 ++item->generation; in cw1200_queue_requeue_all()
432 item->packet_id = cw1200_queue_mk_packet_id(queue->generation, in cw1200_queue_requeue_all()
434 item->generation, in cw1200_queue_requeue_all()
435 item - queue->pool); in cw1200_queue_requeue_all()
436 list_move(&item->head, &queue->queue); in cw1200_queue_requeue_all()
447 struct cw1200_queue_item *item; in cw1200_queue_remove() local
455 item = &queue->pool[item_id]; in cw1200_queue_remove()
464 } else if (item->generation != item_generation) { in cw1200_queue_remove()
468 gc_txpriv = item->txpriv; in cw1200_queue_remove()
469 gc_skb = item->skb; in cw1200_queue_remove()
470 item->skb = NULL; in cw1200_queue_remove()
474 ++item->generation; in cw1200_queue_remove()
478 list_move(&item->head, &queue->free_pool); in cw1200_queue_remove()
500 struct cw1200_queue_item *item; in cw1200_queue_get_skb() local
504 item = &queue->pool[item_id]; in cw1200_queue_get_skb()
513 } else if (item->generation != item_generation) { in cw1200_queue_get_skb()
517 *skb = item->skb; in cw1200_queue_get_skb()
518 *txpriv = &item->txpriv; in cw1200_queue_get_skb()
542 struct cw1200_queue_item *item; in cw1200_queue_get_xmit_timestamp() local
548 list_for_each_entry(item, &queue->pending, head) { in cw1200_queue_get_xmit_timestamp()
549 if (item->packet_id != pending_frame_id) in cw1200_queue_get_xmit_timestamp()
550 if (time_before(item->xmit_timestamp, in cw1200_queue_get_xmit_timestamp()
552 *timestamp = item->xmit_timestamp; in cw1200_queue_get_xmit_timestamp()