diff options
author | Gertjan van Wingerde <gwingerde@gmail.com> | 2010-06-29 21:41:40 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-06-30 15:00:50 -0400 |
commit | e513a0b6f1bf8e1b59b0e1382d4e7ef3d344d535 (patch) | |
tree | 6cc2ff94dd486eb4b5eb7b6d2aabc0bff4b033c5 /drivers/net/wireless/rt2x00/rt2x00dev.c | |
parent | 78eea11b0e6ae5771bc19cc46984f1cdcbbb6ba1 (diff) | |
download | lwn-e513a0b6f1bf8e1b59b0e1382d4e7ef3d344d535.tar.gz lwn-e513a0b6f1bf8e1b59b0e1382d4e7ef3d344d535.zip |
rt2x00: Move common txdone handling to rt2x00lib_txdone.
Now that the write_tx_data functions are merged, also merge the relevant
parts of the txdone handling into common code, rather than {usb,pci}
specific code.
Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00dev.c')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00dev.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c index a914855099b7..12ee7bdedd02 100644 --- a/drivers/net/wireless/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c @@ -211,6 +211,21 @@ void rt2x00lib_txdone(struct queue_entry *entry, bool success; /* + * Unmap the skb. + */ + rt2x00queue_unmap_skb(rt2x00dev, entry->skb); + + /* + * Remove the extra tx headroom from the skb. + */ + skb_pull(entry->skb, rt2x00dev->ops->extra_tx_headroom); + + /* + * Signal that the TX descriptor is no longer in the skb. + */ + skbdesc->flags &= ~SKBDESC_DESC_IN_SKB; + + /* * Remove L2 padding which was added during */ if (test_bit(DRIVER_REQUIRE_L2PAD, &rt2x00dev->flags)) |