Lines Matching full:item
69 struct cw1200_queue_item *item, *tmp; in cw1200_queue_post_gc() local
71 list_for_each_entry_safe(item, tmp, gc_list, head) { in cw1200_queue_post_gc()
72 list_del(&item->head); in cw1200_queue_post_gc()
73 stats->skb_dtor(stats->priv, item->skb, &item->txpriv); in cw1200_queue_post_gc()
74 kfree(item); in cw1200_queue_post_gc()
79 struct cw1200_queue_item *item) in cw1200_queue_register_post_gc() argument
82 gc_item = kmemdup(item, sizeof(struct cw1200_queue_item), in cw1200_queue_register_post_gc()
93 struct cw1200_queue_item *item = NULL, *tmp; in __cw1200_queue_gc() local
96 list_for_each_entry_safe(item, tmp, &queue->queue, head) { in __cw1200_queue_gc()
97 if (jiffies - item->queue_timestamp < queue->ttl) in __cw1200_queue_gc()
100 --queue->link_map_cache[item->txpriv.link_id]; in __cw1200_queue_gc()
103 if (!--stats->link_map_cache[item->txpriv.link_id]) in __cw1200_queue_gc()
107 cw1200_queue_register_post_gc(head, item); in __cw1200_queue_gc()
108 item->skb = NULL; in __cw1200_queue_gc()
109 list_move_tail(&item->head, &queue->free_pool); in __cw1200_queue_gc()
120 } else if (item) { in __cw1200_queue_gc()
121 unsigned long tmo = item->queue_timestamp + queue->ttl; in __cw1200_queue_gc()
204 struct cw1200_queue_item *item, *tmp; in cw1200_queue_clear() local
209 list_for_each_entry_safe(item, tmp, &queue->pending, head) { in cw1200_queue_clear()
210 WARN_ON(!item->skb); in cw1200_queue_clear()
211 cw1200_queue_register_post_gc(&gc_list, item); in cw1200_queue_clear()
212 item->skb = NULL; in cw1200_queue_clear()
213 list_move_tail(&item->head, &queue->free_pool); in cw1200_queue_clear()
289 struct cw1200_queue_item *item = list_first_entry( in cw1200_queue_put() local
291 BUG_ON(item->skb); in cw1200_queue_put()
293 list_move_tail(&item->head, &queue->queue); in cw1200_queue_put()
294 item->skb = skb; in cw1200_queue_put()
295 item->txpriv = *txpriv; in cw1200_queue_put()
296 item->generation = 0; in cw1200_queue_put()
297 item->packet_id = cw1200_queue_mk_packet_id(queue->generation, in cw1200_queue_put()
299 item->generation, in cw1200_queue_put()
300 item - queue->pool); in cw1200_queue_put()
301 item->queue_timestamp = jiffies; in cw1200_queue_put()
335 struct cw1200_queue_item *item; in cw1200_queue_get() local
340 list_for_each_entry(item, &queue->queue, head) { in cw1200_queue_get()
341 if (link_id_map & BIT(item->txpriv.link_id)) { in cw1200_queue_get()
348 *tx = (struct wsm_tx *)item->skb->data; in cw1200_queue_get()
349 *tx_info = IEEE80211_SKB_CB(item->skb); in cw1200_queue_get()
350 *txpriv = &item->txpriv; in cw1200_queue_get()
351 (*tx)->packet_id = item->packet_id; in cw1200_queue_get()
352 list_move_tail(&item->head, &queue->pending); in cw1200_queue_get()
354 --queue->link_map_cache[item->txpriv.link_id]; in cw1200_queue_get()
355 item->xmit_timestamp = jiffies; in cw1200_queue_get()
359 if (!--stats->link_map_cache[item->txpriv.link_id]) in cw1200_queue_get()
373 struct cw1200_queue_item *item; in cw1200_queue_requeue() local
379 item = &queue->pool[item_id]; in cw1200_queue_requeue()
388 } else if (item->generation != item_generation) { in cw1200_queue_requeue()
393 ++queue->link_map_cache[item->txpriv.link_id]; in cw1200_queue_requeue()
397 ++stats->link_map_cache[item->txpriv.link_id]; in cw1200_queue_requeue()
400 item->generation = ++item_generation; in cw1200_queue_requeue()
401 item->packet_id = cw1200_queue_mk_packet_id(queue_generation, in cw1200_queue_requeue()
405 list_move(&item->head, &queue->queue); in cw1200_queue_requeue()
413 struct cw1200_queue_item *item, *tmp; in cw1200_queue_requeue_all() local
417 list_for_each_entry_safe_reverse(item, tmp, &queue->pending, head) { in cw1200_queue_requeue_all()
419 ++queue->link_map_cache[item->txpriv.link_id]; in cw1200_queue_requeue_all()
423 ++stats->link_map_cache[item->txpriv.link_id]; in cw1200_queue_requeue_all()
426 ++item->generation; in cw1200_queue_requeue_all()
427 item->packet_id = cw1200_queue_mk_packet_id(queue->generation, in cw1200_queue_requeue_all()
429 item->generation, in cw1200_queue_requeue_all()
430 item - queue->pool); in cw1200_queue_requeue_all()
431 list_move(&item->head, &queue->queue); in cw1200_queue_requeue_all()
442 struct cw1200_queue_item *item; in cw1200_queue_remove() local
450 item = &queue->pool[item_id]; in cw1200_queue_remove()
459 } else if (item->generation != item_generation) { in cw1200_queue_remove()
463 gc_txpriv = item->txpriv; in cw1200_queue_remove()
464 gc_skb = item->skb; in cw1200_queue_remove()
465 item->skb = NULL; in cw1200_queue_remove()
469 ++item->generation; in cw1200_queue_remove()
473 list_move(&item->head, &queue->free_pool); in cw1200_queue_remove()
495 struct cw1200_queue_item *item; in cw1200_queue_get_skb() local
499 item = &queue->pool[item_id]; in cw1200_queue_get_skb()
508 } else if (item->generation != item_generation) { in cw1200_queue_get_skb()
512 *skb = item->skb; in cw1200_queue_get_skb()
513 *txpriv = &item->txpriv; in cw1200_queue_get_skb()
537 struct cw1200_queue_item *item; in cw1200_queue_get_xmit_timestamp() local
543 list_for_each_entry(item, &queue->pending, head) { in cw1200_queue_get_xmit_timestamp()
544 if (item->packet_id != pending_frame_id) in cw1200_queue_get_xmit_timestamp()
545 if (time_before(item->xmit_timestamp, in cw1200_queue_get_xmit_timestamp()
547 *timestamp = item->xmit_timestamp; in cw1200_queue_get_xmit_timestamp()