aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt2x00queue.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00queue.c')
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00queue.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.c b/drivers/net/wireless/rt2x00/rt2x00queue.c
index 089a12c7b90f..20dbdd6fb904 100644
--- a/drivers/net/wireless/rt2x00/rt2x00queue.c
+++ b/drivers/net/wireless/rt2x00/rt2x00queue.c
@@ -421,6 +421,7 @@ static void rt2x00queue_write_tx_descriptor(struct queue_entry *entry,
421{ 421{
422 struct data_queue *queue = entry->queue; 422 struct data_queue *queue = entry->queue;
423 struct rt2x00_dev *rt2x00dev = queue->rt2x00dev; 423 struct rt2x00_dev *rt2x00dev = queue->rt2x00dev;
424 enum rt2x00_dump_type dump_type;
424 425
425 rt2x00dev->ops->lib->write_tx_desc(rt2x00dev, entry->skb, txdesc); 426 rt2x00dev->ops->lib->write_tx_desc(rt2x00dev, entry->skb, txdesc);
426 427
@@ -428,7 +429,9 @@ static void rt2x00queue_write_tx_descriptor(struct queue_entry *entry,
428 * All processing on the frame has been completed, this means 429 * All processing on the frame has been completed, this means
429 * it is now ready to be dumped to userspace through debugfs. 430 * it is now ready to be dumped to userspace through debugfs.
430 */ 431 */
431 rt2x00debug_dump_frame(rt2x00dev, DUMP_FRAME_TX, entry->skb); 432 dump_type = (txdesc->queue == QID_BEACON) ?
433 DUMP_FRAME_BEACON : DUMP_FRAME_TX;
434 rt2x00debug_dump_frame(rt2x00dev, dump_type, entry->skb);
432} 435}
433 436
434static void rt2x00queue_kick_tx_queue(struct queue_entry *entry, 437static void rt2x00queue_kick_tx_queue(struct queue_entry *entry,
@@ -553,7 +556,6 @@ int rt2x00queue_update_beacon(struct rt2x00_dev *rt2x00dev,
553 struct rt2x00_intf *intf = vif_to_intf(vif); 556 struct rt2x00_intf *intf = vif_to_intf(vif);
554 struct skb_frame_desc *skbdesc; 557 struct skb_frame_desc *skbdesc;
555 struct txentry_desc txdesc; 558 struct txentry_desc txdesc;
556 __le32 desc[16];
557 559
558 if (unlikely(!intf->beacon)) 560 if (unlikely(!intf->beacon))
559 return -ENOBUFS; 561 return -ENOBUFS;
@@ -586,19 +588,10 @@ int rt2x00queue_update_beacon(struct rt2x00_dev *rt2x00dev,
586 rt2x00queue_create_tx_descriptor(intf->beacon, &txdesc); 588 rt2x00queue_create_tx_descriptor(intf->beacon, &txdesc);
587 589
588 /* 590 /*
589 * For the descriptor we use a local array from where the
590 * driver can move it to the correct location required for
591 * the hardware.
592 */
593 memset(desc, 0, sizeof(desc));
594
595 /*
596 * Fill in skb descriptor 591 * Fill in skb descriptor
597 */ 592 */
598 skbdesc = get_skb_frame_desc(intf->beacon->skb); 593 skbdesc = get_skb_frame_desc(intf->beacon->skb);
599 memset(skbdesc, 0, sizeof(*skbdesc)); 594 memset(skbdesc, 0, sizeof(*skbdesc));
600 skbdesc->desc = desc;
601 skbdesc->desc_len = intf->beacon->queue->desc_size;
602 skbdesc->entry = intf->beacon; 595 skbdesc->entry = intf->beacon;
603 596
604 /* 597 /*