diff options
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00dev.c')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00dev.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c index 4f32ee8f4cb7..48e251561f83 100644 --- a/drivers/net/wireless/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c | |||
@@ -28,6 +28,7 @@ | |||
28 | 28 | ||
29 | #include "rt2x00.h" | 29 | #include "rt2x00.h" |
30 | #include "rt2x00lib.h" | 30 | #include "rt2x00lib.h" |
31 | #include "rt2x00dump.h" | ||
31 | 32 | ||
32 | /* | 33 | /* |
33 | * Ring handler. | 34 | * Ring handler. |
@@ -511,9 +512,11 @@ void rt2x00lib_txdone(struct data_entry *entry, | |||
511 | } | 512 | } |
512 | 513 | ||
513 | /* | 514 | /* |
514 | * Send the tx_status to mac80211, | 515 | * Send the tx_status to mac80211 & debugfs. |
515 | * that method also cleans up the skb structure. | 516 | * mac80211 will clean up the skb structure. |
516 | */ | 517 | */ |
518 | get_skb_desc(entry->skb)->frame_type = DUMP_FRAME_TXDONE; | ||
519 | rt2x00debug_dump_frame(rt2x00dev, entry->skb); | ||
517 | ieee80211_tx_status_irqsafe(rt2x00dev->hw, entry->skb, tx_status); | 520 | ieee80211_tx_status_irqsafe(rt2x00dev->hw, entry->skb, tx_status); |
518 | entry->skb = NULL; | 521 | entry->skb = NULL; |
519 | } | 522 | } |
@@ -563,8 +566,10 @@ void rt2x00lib_rxdone(struct data_entry *entry, struct sk_buff *skb, | |||
563 | rx_status->antenna = rt2x00dev->link.ant.active.rx; | 566 | rx_status->antenna = rt2x00dev->link.ant.active.rx; |
564 | 567 | ||
565 | /* | 568 | /* |
566 | * Send frame to mac80211 | 569 | * Send frame to mac80211 & debugfs |
567 | */ | 570 | */ |
571 | get_skb_desc(skb)->frame_type = DUMP_FRAME_RXDONE; | ||
572 | rt2x00debug_dump_frame(rt2x00dev, skb); | ||
568 | ieee80211_rx_irqsafe(rt2x00dev->hw, skb, rx_status); | 573 | ieee80211_rx_irqsafe(rt2x00dev->hw, skb, rx_status); |
569 | } | 574 | } |
570 | EXPORT_SYMBOL_GPL(rt2x00lib_rxdone); | 575 | EXPORT_SYMBOL_GPL(rt2x00lib_rxdone); |
@@ -715,6 +720,15 @@ void rt2x00lib_write_tx_desc(struct rt2x00_dev *rt2x00dev, | |||
715 | */ | 720 | */ |
716 | skbdesc->entry->skb = skb; | 721 | skbdesc->entry->skb = skb; |
717 | memcpy(&skbdesc->entry->tx_status.control, control, sizeof(*control)); | 722 | memcpy(&skbdesc->entry->tx_status.control, control, sizeof(*control)); |
723 | |||
724 | /* | ||
725 | * The frame has been completely initialized and ready | ||
726 | * for sending to the device. The caller will push the | ||
727 | * frame to the device, but we are going to push the | ||
728 | * frame to debugfs here. | ||
729 | */ | ||
730 | skbdesc->frame_type = DUMP_FRAME_TX; | ||
731 | rt2x00debug_dump_frame(rt2x00dev, skb); | ||
718 | } | 732 | } |
719 | EXPORT_SYMBOL_GPL(rt2x00lib_write_tx_desc); | 733 | EXPORT_SYMBOL_GPL(rt2x00lib_write_tx_desc); |
720 | 734 | ||