aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorIvo van Doorn <ivdoorn@gmail.com>2008-02-17 11:33:13 -0500
committerJohn W. Linville <linville@tuxdriver.com>2008-02-29 15:37:22 -0500
commite542239f639fa4e7b13a949d39d44ff1eccf7e3a (patch)
tree4357db0cd7c826a57b4d75f12e473633eb58645e /drivers/net
parentbaf26a7eae3b05d25dd967b92eb2e09406ed9cf4 (diff)
rt2x00: Filter ACK_CTS based on FIF_CONTROL
The ACK_CTS frame is a control frame, this means dropping the frame depends on the FIF_CONTROL flag for filtering. This also fixes an obvious typo in register definition. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/rt2x00/rt61pci.c5
-rw-r--r--drivers/net/wireless/rt2x00/rt61pci.h2
-rw-r--r--drivers/net/wireless/rt2x00/rt73usb.c3
3 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/wireless/rt2x00/rt61pci.c b/drivers/net/wireless/rt2x00/rt61pci.c
index 357f2c4183f6..75f61f3c47b6 100644
--- a/drivers/net/wireless/rt2x00/rt61pci.c
+++ b/drivers/net/wireless/rt2x00/rt61pci.c
@@ -2325,8 +2325,9 @@ static void rt61pci_configure_filter(struct ieee80211_hw *hw,
2325 rt2x00_set_field32(&reg, TXRX_CSR0_DROP_VERSION_ERROR, 1); 2325 rt2x00_set_field32(&reg, TXRX_CSR0_DROP_VERSION_ERROR, 1);
2326 rt2x00_set_field32(&reg, TXRX_CSR0_DROP_MULTICAST, 2326 rt2x00_set_field32(&reg, TXRX_CSR0_DROP_MULTICAST,
2327 !(*total_flags & FIF_ALLMULTI)); 2327 !(*total_flags & FIF_ALLMULTI));
2328 rt2x00_set_field32(&reg, TXRX_CSR0_DROP_BORADCAST, 0); 2328 rt2x00_set_field32(&reg, TXRX_CSR0_DROP_BROADCAST, 0);
2329 rt2x00_set_field32(&reg, TXRX_CSR0_DROP_ACK_CTS, 1); 2329 rt2x00_set_field32(&reg, TXRX_CSR0_DROP_ACK_CTS,
2330 !(*total_flags & FIF_CONTROL));
2330 rt2x00pci_register_write(rt2x00dev, TXRX_CSR0, reg); 2331 rt2x00pci_register_write(rt2x00dev, TXRX_CSR0, reg);
2331} 2332}
2332 2333
diff --git a/drivers/net/wireless/rt2x00/rt61pci.h b/drivers/net/wireless/rt2x00/rt61pci.h
index 2f9a8899a3e8..d504e70125d5 100644
--- a/drivers/net/wireless/rt2x00/rt61pci.h
+++ b/drivers/net/wireless/rt2x00/rt61pci.h
@@ -405,7 +405,7 @@ struct hw_pairwise_ta_entry {
405#define TXRX_CSR0_DROP_TO_DS FIELD32(0x00200000) 405#define TXRX_CSR0_DROP_TO_DS FIELD32(0x00200000)
406#define TXRX_CSR0_DROP_VERSION_ERROR FIELD32(0x00400000) 406#define TXRX_CSR0_DROP_VERSION_ERROR FIELD32(0x00400000)
407#define TXRX_CSR0_DROP_MULTICAST FIELD32(0x00800000) 407#define TXRX_CSR0_DROP_MULTICAST FIELD32(0x00800000)
408#define TXRX_CSR0_DROP_BORADCAST FIELD32(0x01000000) 408#define TXRX_CSR0_DROP_BROADCAST FIELD32(0x01000000)
409#define TXRX_CSR0_DROP_ACK_CTS FIELD32(0x02000000) 409#define TXRX_CSR0_DROP_ACK_CTS FIELD32(0x02000000)
410#define TXRX_CSR0_TX_WITHOUT_WAITING FIELD32(0x04000000) 410#define TXRX_CSR0_TX_WITHOUT_WAITING FIELD32(0x04000000)
411 411
diff --git a/drivers/net/wireless/rt2x00/rt73usb.c b/drivers/net/wireless/rt2x00/rt73usb.c
index afd8533267a7..c3d4e9307785 100644
--- a/drivers/net/wireless/rt2x00/rt73usb.c
+++ b/drivers/net/wireless/rt2x00/rt73usb.c
@@ -1929,7 +1929,8 @@ static void rt73usb_configure_filter(struct ieee80211_hw *hw,
1929 rt2x00_set_field32(&reg, TXRX_CSR0_DROP_MULTICAST, 1929 rt2x00_set_field32(&reg, TXRX_CSR0_DROP_MULTICAST,
1930 !(*total_flags & FIF_ALLMULTI)); 1930 !(*total_flags & FIF_ALLMULTI));
1931 rt2x00_set_field32(&reg, TXRX_CSR0_DROP_BROADCAST, 0); 1931 rt2x00_set_field32(&reg, TXRX_CSR0_DROP_BROADCAST, 0);
1932 rt2x00_set_field32(&reg, TXRX_CSR0_DROP_ACK_CTS, 1); 1932 rt2x00_set_field32(&reg, TXRX_CSR0_DROP_ACK_CTS,
1933 !(*total_flags & FIF_CONTROL));
1933 rt73usb_register_write(rt2x00dev, TXRX_CSR0, reg); 1934 rt73usb_register_write(rt2x00dev, TXRX_CSR0, reg);
1934} 1935}
1935 1936