diff options
| author | David S. Miller <davem@davemloft.net> | 2009-11-24 15:01:29 -0800 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2009-11-24 15:01:29 -0800 |
| commit | 4ba3eb034fb6fd1990ccc5a6d71d5abcda37b905 (patch) | |
| tree | 0789ba36d96dba330416a1e6a9a68e891a78802a /drivers/net/wireless/rt2x00/rt2x00dev.c | |
| parent | 35700212b45ea9f98fa682cfc1bc1a67c9ccc34b (diff) | |
| parent | 18b6c9a2213d3b6e0212e8b225abf95f7564206a (diff) | |
| download | lwn-4ba3eb034fb6fd1990ccc5a6d71d5abcda37b905.tar.gz lwn-4ba3eb034fb6fd1990ccc5a6d71d5abcda37b905.zip | |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00dev.c')
| -rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00dev.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c index 6c6d0ac35549..4a4b7e42fe6e 100644 --- a/drivers/net/wireless/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c @@ -205,6 +205,7 @@ void rt2x00lib_txdone(struct queue_entry *entry, enum data_queue_qid qid = skb_get_queue_mapping(entry->skb); unsigned int header_length = ieee80211_get_hdrlen_from_skb(entry->skb); u8 rate_idx, rate_flags, retry_rates; + u8 skbdesc_flags = skbdesc->flags; unsigned int i; bool success; @@ -287,12 +288,12 @@ void rt2x00lib_txdone(struct queue_entry *entry, } /* - * Only send the status report to mac80211 when TX status was - * requested by it. If this was a extra frame coming through - * a mac80211 library call (RTS/CTS) then we should not send the - * status report back. + * Only send the status report to mac80211 when it's a frame + * that originated in mac80211. If this was a extra frame coming + * through a mac80211 library call (RTS/CTS) then we should not + * send the status report back. */ - if (tx_info->flags & IEEE80211_TX_CTL_REQ_TX_STATUS) + if (!(skbdesc_flags & SKBDESC_NOT_MAC80211)) ieee80211_tx_status_irqsafe(rt2x00dev->hw, entry->skb); else dev_kfree_skb_irq(entry->skb); |
