aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt2x00dev.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00dev.c')
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00dev.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c
index 6499cc416ca3..e692608bee8b 100644
--- a/drivers/net/wireless/rt2x00/rt2x00dev.c
+++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
@@ -464,7 +464,7 @@ void rt2x00lib_rxdone(struct rt2x00_dev *rt2x00dev,
464{ 464{
465 struct rxdone_entry_desc rxdesc; 465 struct rxdone_entry_desc rxdesc;
466 struct sk_buff *skb; 466 struct sk_buff *skb;
467 struct ieee80211_rx_status *rx_status = &rt2x00dev->rx_status; 467 struct ieee80211_rx_status *rx_status;
468 unsigned int header_length; 468 unsigned int header_length;
469 int rate_idx; 469 int rate_idx;
470 470
@@ -535,19 +535,21 @@ void rt2x00lib_rxdone(struct rt2x00_dev *rt2x00dev,
535 */ 535 */
536 rt2x00link_update_stats(rt2x00dev, entry->skb, &rxdesc); 536 rt2x00link_update_stats(rt2x00dev, entry->skb, &rxdesc);
537 rt2x00debug_update_crypto(rt2x00dev, &rxdesc); 537 rt2x00debug_update_crypto(rt2x00dev, &rxdesc);
538 rt2x00debug_dump_frame(rt2x00dev, DUMP_FRAME_RXDONE, entry->skb);
538 539
540 /*
541 * Initialize RX status information, and send frame
542 * to mac80211.
543 */
544 rx_status = IEEE80211_SKB_RXCB(entry->skb);
539 rx_status->mactime = rxdesc.timestamp; 545 rx_status->mactime = rxdesc.timestamp;
546 rx_status->band = rt2x00dev->curr_band;
547 rx_status->freq = rt2x00dev->curr_freq;
540 rx_status->rate_idx = rate_idx; 548 rx_status->rate_idx = rate_idx;
541 rx_status->signal = rxdesc.rssi; 549 rx_status->signal = rxdesc.rssi;
542 rx_status->flag = rxdesc.flags; 550 rx_status->flag = rxdesc.flags;
543 rx_status->antenna = rt2x00dev->link.ant.active.rx; 551 rx_status->antenna = rt2x00dev->link.ant.active.rx;
544 552
545 /*
546 * Send frame to mac80211 & debugfs.
547 * mac80211 will clean up the skb structure.
548 */
549 rt2x00debug_dump_frame(rt2x00dev, DUMP_FRAME_RXDONE, entry->skb);
550 memcpy(IEEE80211_SKB_RXCB(entry->skb), rx_status, sizeof(*rx_status));
551 ieee80211_rx_ni(rt2x00dev->hw, entry->skb); 553 ieee80211_rx_ni(rt2x00dev->hw, entry->skb);
552 554
553 /* 555 /*