Lines Matching refs: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
85 memcpy(gc_item, item, sizeof(struct cw1200_queue_item)); in cw1200_queue_register_post_gc()
94 struct cw1200_queue_item *item = NULL, *tmp; in __cw1200_queue_gc() local
97 list_for_each_entry_safe(item, tmp, &queue->queue, head) { in __cw1200_queue_gc()
98 if (jiffies - item->queue_timestamp < queue->ttl) in __cw1200_queue_gc()
101 --queue->link_map_cache[item->txpriv.link_id]; in __cw1200_queue_gc()
104 if (!--stats->link_map_cache[item->txpriv.link_id]) in __cw1200_queue_gc()
108 cw1200_queue_register_post_gc(head, item); in __cw1200_queue_gc()
109 item->skb = NULL; in __cw1200_queue_gc()
110 list_move_tail(&item->head, &queue->free_pool); in __cw1200_queue_gc()
121 } else if (item) { in __cw1200_queue_gc()
122 unsigned long tmo = item->queue_timestamp + queue->ttl; in __cw1200_queue_gc()
205 struct cw1200_queue_item *item, *tmp; in cw1200_queue_clear() local
210 list_for_each_entry_safe(item, tmp, &queue->pending, head) { in cw1200_queue_clear()
211 WARN_ON(!item->skb); in cw1200_queue_clear()
212 cw1200_queue_register_post_gc(&gc_list, item); in cw1200_queue_clear()
213 item->skb = NULL; in cw1200_queue_clear()
214 list_move_tail(&item->head, &queue->free_pool); in cw1200_queue_clear()
290 struct cw1200_queue_item *item = list_first_entry( in cw1200_queue_put() local
292 BUG_ON(item->skb); in cw1200_queue_put()
294 list_move_tail(&item->head, &queue->queue); in cw1200_queue_put()
295 item->skb = skb; in cw1200_queue_put()
296 item->txpriv = *txpriv; in cw1200_queue_put()
297 item->generation = 0; in cw1200_queue_put()
298 item->packet_id = cw1200_queue_mk_packet_id(queue->generation, in cw1200_queue_put()
300 item->generation, in cw1200_queue_put()
301 item - queue->pool); in cw1200_queue_put()
302 item->queue_timestamp = jiffies; in cw1200_queue_put()
336 struct cw1200_queue_item *item; in cw1200_queue_get() local
341 list_for_each_entry(item, &queue->queue, head) { in cw1200_queue_get()
342 if (link_id_map & BIT(item->txpriv.link_id)) { in cw1200_queue_get()
349 *tx = (struct wsm_tx *)item->skb->data; in cw1200_queue_get()
350 *tx_info = IEEE80211_SKB_CB(item->skb); in cw1200_queue_get()
351 *txpriv = &item->txpriv; in cw1200_queue_get()
352 (*tx)->packet_id = item->packet_id; in cw1200_queue_get()
353 list_move_tail(&item->head, &queue->pending); in cw1200_queue_get()
355 --queue->link_map_cache[item->txpriv.link_id]; in cw1200_queue_get()
356 item->xmit_timestamp = jiffies; in cw1200_queue_get()
360 if (!--stats->link_map_cache[item->txpriv.link_id]) in cw1200_queue_get()
374 struct cw1200_queue_item *item; in cw1200_queue_requeue() local
380 item = &queue->pool[item_id]; in cw1200_queue_requeue()
389 } else if (item->generation != item_generation) { in cw1200_queue_requeue()
394 ++queue->link_map_cache[item->txpriv.link_id]; in cw1200_queue_requeue()
398 ++stats->link_map_cache[item->txpriv.link_id]; in cw1200_queue_requeue()
401 item->generation = ++item_generation; in cw1200_queue_requeue()
402 item->packet_id = cw1200_queue_mk_packet_id(queue_generation, in cw1200_queue_requeue()
406 list_move(&item->head, &queue->queue); in cw1200_queue_requeue()
414 struct cw1200_queue_item *item, *tmp; in cw1200_queue_requeue_all() local
418 list_for_each_entry_safe_reverse(item, tmp, &queue->pending, head) { in cw1200_queue_requeue_all()
420 ++queue->link_map_cache[item->txpriv.link_id]; in cw1200_queue_requeue_all()
424 ++stats->link_map_cache[item->txpriv.link_id]; in cw1200_queue_requeue_all()
427 ++item->generation; in cw1200_queue_requeue_all()
428 item->packet_id = cw1200_queue_mk_packet_id(queue->generation, in cw1200_queue_requeue_all()
430 item->generation, in cw1200_queue_requeue_all()
431 item - queue->pool); in cw1200_queue_requeue_all()
432 list_move(&item->head, &queue->queue); in cw1200_queue_requeue_all()
443 struct cw1200_queue_item *item; in cw1200_queue_remove() local
451 item = &queue->pool[item_id]; in cw1200_queue_remove()
460 } else if (item->generation != item_generation) { in cw1200_queue_remove()
464 gc_txpriv = item->txpriv; in cw1200_queue_remove()
465 gc_skb = item->skb; in cw1200_queue_remove()
466 item->skb = NULL; in cw1200_queue_remove()
470 ++item->generation; in cw1200_queue_remove()
474 list_move(&item->head, &queue->free_pool); in cw1200_queue_remove()
496 struct cw1200_queue_item *item; in cw1200_queue_get_skb() local
500 item = &queue->pool[item_id]; in cw1200_queue_get_skb()
509 } else if (item->generation != item_generation) { in cw1200_queue_get_skb()
513 *skb = item->skb; in cw1200_queue_get_skb()
514 *txpriv = &item->txpriv; in cw1200_queue_get_skb()
538 struct cw1200_queue_item *item; in cw1200_queue_get_xmit_timestamp() local
544 list_for_each_entry(item, &queue->pending, head) { in cw1200_queue_get_xmit_timestamp()
545 if (item->packet_id != pending_frame_id) in cw1200_queue_get_xmit_timestamp()
546 if (time_before(item->xmit_timestamp, in cw1200_queue_get_xmit_timestamp()
548 *timestamp = item->xmit_timestamp; in cw1200_queue_get_xmit_timestamp()