aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt2x00dev.c
diff options
context:
space:
mode:
authorIvo van Doorn <ivdoorn@gmail.com>2008-05-10 07:41:32 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-05-21 21:47:30 -0400
commit5a6e59991b82580c3ca00115603b85762ec76104 (patch)
treeb466507f3c2044127712ba4a082d18255103e57e /drivers/net/wireless/rt2x00/rt2x00dev.c
parent5b06c85c3b96fa8db632f1ee94f99a2bd0215f3a (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.c13
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}
758EXPORT_SYMBOL_GPL(rt2x00lib_write_tx_desc); 753EXPORT_SYMBOL_GPL(rt2x00lib_write_tx_desc);
759 754