diff options
author | Michael Buesch <mb@bu3sch.de> | 2007-02-06 01:16:35 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2007-02-14 15:45:04 -0500 |
commit | 1d3c2928c45a97c0d414bd8537c266bb2355f03d (patch) | |
tree | 50f154927e1a2fdacd42c2ab5b47b5c1edc879ac | |
parent | 0a92dd0a70a030a7c2b58937740f26537246d5b0 (diff) |
[PATCH] bcm43xx: Ignore ampdu status reports
If bcm43xx were to process an afterburner (ampdu) status response,
Linux would oops. The ampdu and intermediate status bits are properly
named.
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/bcm43xx/bcm43xx_main.c | 8 | ||||
-rw-r--r-- | drivers/net/wireless/bcm43xx/bcm43xx_xmit.h | 10 |
2 files changed, 5 insertions, 13 deletions
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_main.c b/drivers/net/wireless/bcm43xx/bcm43xx_main.c index 18a342119fe8..85077ba6ce11 100644 --- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c +++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c | |||
@@ -1447,12 +1447,10 @@ static void handle_irq_transmit_status(struct bcm43xx_private *bcm) | |||
1447 | 1447 | ||
1448 | bcm43xx_debugfs_log_txstat(bcm, &stat); | 1448 | bcm43xx_debugfs_log_txstat(bcm, &stat); |
1449 | 1449 | ||
1450 | if (stat.flags & BCM43xx_TXSTAT_FLAG_IGNORE) | 1450 | if (stat.flags & BCM43xx_TXSTAT_FLAG_AMPDU) |
1451 | continue; | ||
1452 | if (stat.flags & BCM43xx_TXSTAT_FLAG_INTER) | ||
1451 | continue; | 1453 | continue; |
1452 | if (!(stat.flags & BCM43xx_TXSTAT_FLAG_ACK)) { | ||
1453 | //TODO: packet was not acked (was lost) | ||
1454 | } | ||
1455 | //TODO: There are more (unknown) flags to test. see bcm43xx_main.h | ||
1456 | 1454 | ||
1457 | if (bcm43xx_using_pio(bcm)) | 1455 | if (bcm43xx_using_pio(bcm)) |
1458 | bcm43xx_pio_handle_xmitstatus(bcm, &stat); | 1456 | bcm43xx_pio_handle_xmitstatus(bcm, &stat); |
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_xmit.h b/drivers/net/wireless/bcm43xx/bcm43xx_xmit.h index 2aed19e35c77..9ecf2bf0d25d 100644 --- a/drivers/net/wireless/bcm43xx/bcm43xx_xmit.h +++ b/drivers/net/wireless/bcm43xx/bcm43xx_xmit.h | |||
@@ -137,14 +137,8 @@ struct bcm43xx_xmitstatus { | |||
137 | u16 unknown; //FIXME | 137 | u16 unknown; //FIXME |
138 | }; | 138 | }; |
139 | 139 | ||
140 | #define BCM43xx_TXSTAT_FLAG_ACK 0x01 | 140 | #define BCM43xx_TXSTAT_FLAG_AMPDU 0x10 |
141 | //TODO #define BCM43xx_TXSTAT_FLAG_??? 0x02 | 141 | #define BCM43xx_TXSTAT_FLAG_INTER 0x20 |
142 | //TODO #define BCM43xx_TXSTAT_FLAG_??? 0x04 | ||
143 | //TODO #define BCM43xx_TXSTAT_FLAG_??? 0x08 | ||
144 | //TODO #define BCM43xx_TXSTAT_FLAG_??? 0x10 | ||
145 | #define BCM43xx_TXSTAT_FLAG_IGNORE 0x20 | ||
146 | //TODO #define BCM43xx_TXSTAT_FLAG_??? 0x40 | ||
147 | //TODO #define BCM43xx_TXSTAT_FLAG_??? 0x80 | ||
148 | 142 | ||
149 | u8 bcm43xx_plcp_get_ratecode_cck(const u8 bitrate); | 143 | u8 bcm43xx_plcp_get_ratecode_cck(const u8 bitrate); |
150 | u8 bcm43xx_plcp_get_ratecode_ofdm(const u8 bitrate); | 144 | u8 bcm43xx_plcp_get_ratecode_ofdm(const u8 bitrate); |