Lines Matching refs:tqe

31 static void wilc_wlan_txq_remove(struct wilc *wilc, struct txq_entry_t *tqe)
33 list_del(&tqe->list);
40 struct txq_entry_t *tqe = NULL;
48 tqe = list_first_entry(&wilc->txq_head.list, struct txq_entry_t,
50 list_del(&tqe->list);
54 return tqe;
58 struct txq_entry_t *tqe)
66 list_add_tail(&tqe->list, &wilc->txq_head.list);
75 struct txq_entry_t *tqe)
84 list_add(&tqe->list, &wilc->txq_head.list);
133 static inline void tcp_process(struct net_device *dev, struct txq_entry_t *tqe)
135 void *buffer = tqe->buffer;
178 add_tcp_pending_ack(vif, ack_no, i, tqe);
211 struct txq_entry_t *tqe;
213 tqe = f->pending_acks[i].txqe;
214 if (tqe) {
215 wilc_wlan_txq_remove(wilc, tqe);
216 tqe->status = 1;
217 if (tqe->tx_complete_func)
218 tqe->tx_complete_func(tqe->priv,
219 tqe->status);
220 kfree(tqe);
250 struct txq_entry_t *tqe;
260 tqe = kmalloc(sizeof(*tqe), GFP_ATOMIC);
261 if (!tqe)
264 tqe->type = WILC_CFG_PKT;
265 tqe->buffer = buffer;
266 tqe->buffer_size = buffer_size;
267 tqe->tx_complete_func = NULL;
268 tqe->priv = NULL;
269 tqe->ack_idx = NOT_TCP_ACK;
270 tqe->vif = vif;
272 wilc_wlan_txq_add_to_head(vif, tqe);
281 struct txq_entry_t *tqe;
290 tqe = kmalloc(sizeof(*tqe), GFP_ATOMIC);
292 if (!tqe)
294 tqe->type = WILC_NET_PKT;
295 tqe->buffer = buffer;
296 tqe->buffer_size = buffer_size;
297 tqe->tx_complete_func = tx_complete_fn;
298 tqe->priv = priv;
299 tqe->vif = vif;
301 tqe->ack_idx = NOT_TCP_ACK;
303 tcp_process(dev, tqe);
304 wilc_wlan_txq_add_to_tail(dev, tqe);
312 struct txq_entry_t *tqe;
321 tqe = kmalloc(sizeof(*tqe), GFP_ATOMIC);
323 if (!tqe)
325 tqe->type = WILC_MGMT_PKT;
326 tqe->buffer = buffer;
327 tqe->buffer_size = buffer_size;
328 tqe->tx_complete_func = tx_complete_fn;
329 tqe->priv = priv;
330 tqe->ack_idx = NOT_TCP_ACK;
331 tqe->vif = vif;
332 wilc_wlan_txq_add_to_tail(dev, tqe);
338 struct txq_entry_t *tqe = NULL;
344 tqe = list_first_entry(&wilc->txq_head.list, struct txq_entry_t,
349 return tqe;
353 struct txq_entry_t *tqe)
359 if (!list_is_last(&tqe->list, &wilc->txq_head.list))
360 tqe = list_next_entry(tqe, list);
362 tqe = NULL;
365 return tqe;
486 struct txq_entry_t *tqe;
500 tqe = wilc_wlan_txq_get_first(wilc);
501 if (!tqe)
503 dev = tqe->vif->ndev;
507 while (tqe && (i < (WILC_VMM_TBL_SIZE - 1))) {
508 if (tqe->type == WILC_CFG_PKT)
510 else if (tqe->type == WILC_NET_PKT)
515 vmm_sz += tqe->buffer_size;
522 if (tqe->type == WILC_CFG_PKT)
528 tqe = wilc_wlan_txq_get_next(wilc, tqe);
617 tqe = wilc_wlan_txq_remove_from_head(dev);
618 if (!tqe)
621 vif = tqe->vif;
629 if (tqe->type == WILC_MGMT_PKT)
632 header = (FIELD_PREP(WILC_VMM_HDR_TYPE, tqe->type) |
634 FIELD_PREP(WILC_VMM_HDR_PKT_SIZE, tqe->buffer_size) |
639 if (tqe->type == WILC_CFG_PKT) {
641 } else if (tqe->type == WILC_NET_PKT) {
642 bssid = tqe->vif->bssid;
650 tqe->buffer, tqe->buffer_size);
653 tqe->status = 1;
654 if (tqe->tx_complete_func)
655 tqe->tx_complete_func(tqe->priv, tqe->status);
656 if (tqe->ack_idx != NOT_TCP_ACK &&
657 tqe->ack_idx < MAX_PENDING_ACKS)
658 vif->ack_filter.pending_acks[tqe->ack_idx].txqe = NULL;
659 kfree(tqe);
957 struct txq_entry_t *tqe;
963 while ((tqe = wilc_wlan_txq_remove_from_head(dev))) {
964 if (tqe->tx_complete_func)
965 tqe->tx_complete_func(tqe->priv, 0);
966 kfree(tqe);