diff options
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00queue.c')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00queue.c | 15 |
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 | ||
434 | static void rt2x00queue_kick_tx_queue(struct queue_entry *entry, | 437 | static 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 | /* |