diff options
author | Ivo van Doorn <ivdoorn@gmail.com> | 2008-05-10 07:41:32 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-05-21 21:47:30 -0400 |
commit | 5a6e59991b82580c3ca00115603b85762ec76104 (patch) | |
tree | b466507f3c2044127712ba4a082d18255103e57e /drivers/net/wireless/rt2x00/rt2x00dev.c | |
parent | 5b06c85c3b96fa8db632f1ee94f99a2bd0215f3a (diff) |
rt2x00: trim skb_frame_desc to 32 bytes
Remove frame_type from skb_frame_desc and pass it
as argument to rt2x00debug_dump_frame().
Change data_len and desc_len to unsigned short
to save another 4 bytes in skb_frame_desc. Note that
this was the only location where the data_len and
desc_len was not yet treated as unsigned short.
This trim is required to help mac80211 with adding
the TX control and TX status informtation into the
skb->cb structure. When that happens, drivers will
have approximately 40 bytes left to use freely.
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 | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c index 3a49c256789f..ea130f2eb008 100644 --- a/drivers/net/wireless/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c | |||
@@ -28,7 +28,6 @@ | |||
28 | 28 | ||
29 | #include "rt2x00.h" | 29 | #include "rt2x00.h" |
30 | #include "rt2x00lib.h" | 30 | #include "rt2x00lib.h" |
31 | #include "rt2x00dump.h" | ||
32 | 31 | ||
33 | /* | 32 | /* |
34 | * Link tuning handlers | 33 | * Link tuning handlers |
@@ -540,11 +539,9 @@ void rt2x00lib_txdone(struct queue_entry *entry, | |||
540 | * If send to mac80211, mac80211 will clean up the skb structure, | 539 | * If send to mac80211, mac80211 will clean up the skb structure, |
541 | * otherwise we have to do it ourself. | 540 | * otherwise we have to do it ourself. |
542 | */ | 541 | */ |
543 | skbdesc = get_skb_frame_desc(entry->skb); | 542 | rt2x00debug_dump_frame(rt2x00dev, DUMP_FRAME_TXDONE, entry->skb); |
544 | skbdesc->frame_type = DUMP_FRAME_TXDONE; | ||
545 | |||
546 | rt2x00debug_dump_frame(rt2x00dev, entry->skb); | ||
547 | 543 | ||
544 | skbdesc = get_skb_frame_desc(entry->skb); | ||
548 | if (!(skbdesc->flags & FRAME_DESC_DRIVER_GENERATED)) | 545 | if (!(skbdesc->flags & FRAME_DESC_DRIVER_GENERATED)) |
549 | ieee80211_tx_status_irqsafe(rt2x00dev->hw, | 546 | ieee80211_tx_status_irqsafe(rt2x00dev->hw, |
550 | entry->skb, &tx_status); | 547 | entry->skb, &tx_status); |
@@ -610,8 +607,7 @@ void rt2x00lib_rxdone(struct queue_entry *entry, | |||
610 | * Send frame to mac80211 & debugfs. | 607 | * Send frame to mac80211 & debugfs. |
611 | * mac80211 will clean up the skb structure. | 608 | * mac80211 will clean up the skb structure. |
612 | */ | 609 | */ |
613 | get_skb_frame_desc(entry->skb)->frame_type = DUMP_FRAME_RXDONE; | 610 | rt2x00debug_dump_frame(rt2x00dev, DUMP_FRAME_RXDONE, entry->skb); |
614 | rt2x00debug_dump_frame(rt2x00dev, entry->skb); | ||
615 | ieee80211_rx_irqsafe(rt2x00dev->hw, entry->skb, rx_status); | 611 | ieee80211_rx_irqsafe(rt2x00dev->hw, entry->skb, rx_status); |
616 | entry->skb = NULL; | 612 | entry->skb = NULL; |
617 | } | 613 | } |
@@ -752,8 +748,7 @@ void rt2x00lib_write_tx_desc(struct rt2x00_dev *rt2x00dev, | |||
752 | * frame to the device, but we are going to push the | 748 | * frame to the device, but we are going to push the |
753 | * frame to debugfs here. | 749 | * frame to debugfs here. |
754 | */ | 750 | */ |
755 | skbdesc->frame_type = DUMP_FRAME_TX; | 751 | rt2x00debug_dump_frame(rt2x00dev, DUMP_FRAME_TX, skb); |
756 | rt2x00debug_dump_frame(rt2x00dev, skb); | ||
757 | } | 752 | } |
758 | EXPORT_SYMBOL_GPL(rt2x00lib_write_tx_desc); | 753 | EXPORT_SYMBOL_GPL(rt2x00lib_write_tx_desc); |
759 | 754 | ||