[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>
This commit is contained in:
parent
0a92dd0a70
commit
1d3c2928c4
|
@ -1447,12 +1447,10 @@ static void handle_irq_transmit_status(struct bcm43xx_private *bcm)
|
|||
|
||||
bcm43xx_debugfs_log_txstat(bcm, &stat);
|
||||
|
||||
if (stat.flags & BCM43xx_TXSTAT_FLAG_IGNORE)
|
||||
if (stat.flags & BCM43xx_TXSTAT_FLAG_AMPDU)
|
||||
continue;
|
||||
if (stat.flags & BCM43xx_TXSTAT_FLAG_INTER)
|
||||
continue;
|
||||
if (!(stat.flags & BCM43xx_TXSTAT_FLAG_ACK)) {
|
||||
//TODO: packet was not acked (was lost)
|
||||
}
|
||||
//TODO: There are more (unknown) flags to test. see bcm43xx_main.h
|
||||
|
||||
if (bcm43xx_using_pio(bcm))
|
||||
bcm43xx_pio_handle_xmitstatus(bcm, &stat);
|
||||
|
|
|
@ -137,14 +137,8 @@ struct bcm43xx_xmitstatus {
|
|||
u16 unknown; //FIXME
|
||||
};
|
||||
|
||||
#define BCM43xx_TXSTAT_FLAG_ACK 0x01
|
||||
//TODO #define BCM43xx_TXSTAT_FLAG_??? 0x02
|
||||
//TODO #define BCM43xx_TXSTAT_FLAG_??? 0x04
|
||||
//TODO #define BCM43xx_TXSTAT_FLAG_??? 0x08
|
||||
//TODO #define BCM43xx_TXSTAT_FLAG_??? 0x10
|
||||
#define BCM43xx_TXSTAT_FLAG_IGNORE 0x20
|
||||
//TODO #define BCM43xx_TXSTAT_FLAG_??? 0x40
|
||||
//TODO #define BCM43xx_TXSTAT_FLAG_??? 0x80
|
||||
#define BCM43xx_TXSTAT_FLAG_AMPDU 0x10
|
||||
#define BCM43xx_TXSTAT_FLAG_INTER 0x20
|
||||
|
||||
u8 bcm43xx_plcp_get_ratecode_cck(const u8 bitrate);
|
||||
u8 bcm43xx_plcp_get_ratecode_ofdm(const u8 bitrate);
|
||||
|
|
Loading…
Reference in New Issue