Lines Matching refs:entry

224 static void rt2x00usb_work_txdone_entry(struct queue_entry *entry)
234 if (test_bit(ENTRY_DATA_IO_FAILED, &entry->flags))
235 rt2x00lib_txdone_noinfo(entry, TXDONE_FAILURE);
237 rt2x00lib_txdone_noinfo(entry, TXDONE_UNKNOWN);
245 struct queue_entry *entry;
249 entry = rt2x00queue_get_entry(queue, Q_INDEX_DONE);
251 if (test_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags) ||
252 !test_bit(ENTRY_DATA_STATUS_PENDING, &entry->flags))
255 rt2x00usb_work_txdone_entry(entry);
262 struct queue_entry *entry = (struct queue_entry *)urb->context;
263 struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev;
265 if (!test_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags))
271 set_bit(ENTRY_DATA_IO_FAILED, &entry->flags);
275 rt2x00lib_dmadone(entry);
278 rt2x00dev->ops->lib->tx_dma_done(entry);
288 static bool rt2x00usb_kick_tx_entry(struct queue_entry *entry, void* data)
290 struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev;
292 struct queue_entry_priv_usb *entry_priv = entry->priv_data;
296 if (!test_and_clear_bit(ENTRY_DATA_PENDING, &entry->flags) ||
297 test_bit(ENTRY_DATA_STATUS_PENDING, &entry->flags))
302 * and urb. Those paddings are not included in skbs. Pass entry
305 length = rt2x00dev->ops->lib->get_tx_data_len(entry);
307 status = skb_padto(entry->skb, length);
311 set_bit(ENTRY_DATA_IO_FAILED, &entry->flags);
312 rt2x00lib_dmadone(entry);
318 usb_sndbulkpipe(usb_dev, entry->queue->usb_endpoint),
319 entry->skb->data, length,
320 rt2x00usb_interrupt_txdone, entry);
326 set_bit(ENTRY_DATA_IO_FAILED, &entry->flags);
327 rt2x00lib_dmadone(entry);
340 struct queue_entry *entry;
345 entry = rt2x00queue_get_entry(rt2x00dev->rx, Q_INDEX_DONE);
347 if (test_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags) ||
348 !test_bit(ENTRY_DATA_STATUS_PENDING, &entry->flags))
354 skbdesc = get_skb_frame_desc(entry->skb);
356 skbdesc->desc_len = entry->queue->desc_size;
361 rt2x00lib_rxdone(entry);
367 struct queue_entry *entry = (struct queue_entry *)urb->context;
368 struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev;
370 if (!test_and_clear_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags))
376 rt2x00lib_dmadone(entry);
383 if (urb->actual_length < entry->queue->desc_size || urb->status)
384 set_bit(ENTRY_DATA_IO_FAILED, &entry->flags);
393 static bool rt2x00usb_kick_rx_entry(struct queue_entry *entry, void* data)
395 struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev;
397 struct queue_entry_priv_usb *entry_priv = entry->priv_data;
400 if (test_and_set_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags) ||
401 test_bit(ENTRY_DATA_STATUS_PENDING, &entry->flags))
404 rt2x00lib_dmastart(entry);
407 usb_rcvbulkpipe(usb_dev, entry->queue->usb_endpoint),
408 entry->skb->data, entry->skb->len,
409 rt2x00usb_interrupt_rxdone, entry);
415 set_bit(ENTRY_DATA_IO_FAILED, &entry->flags);
416 rt2x00lib_dmadone(entry);
450 static bool rt2x00usb_flush_entry(struct queue_entry *entry, void* data)
452 struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev;
453 struct queue_entry_priv_usb *entry_priv = entry->priv_data;
454 struct queue_entry_priv_usb_bcn *bcn_priv = entry->priv_data;
456 if (!test_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags))
464 if ((entry->queue->qid == QID_BEACON) &&
531 struct queue_entry *entry;
533 entry = rt2x00queue_get_entry(queue, Q_INDEX_DMA_DONE);
534 return rt2x00queue_dma_timeout(entry);
563 void rt2x00usb_clear_entry(struct queue_entry *entry)
565 entry->flags = 0;
567 if (entry->queue->qid == QID_RX)
568 rt2x00usb_kick_rx_entry(entry, NULL);