diff options
author | Christian Lamparter <chunkeey@web.de> | 2009-03-05 15:28:57 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-03-16 18:09:35 -0400 |
commit | 346de732cbd11bdc364ae80def2380a5002d7e6b (patch) | |
tree | aaeef8e486fee8f1d746ddfb754501cf6bee834f /drivers/net/wireless/p54 | |
parent | 05c9a4cfe41f44abd5e73964fc734f01e2981442 (diff) |
p54: completely ignore rx'd frames with bad FCS
Passing frames with a bad FCS to the user is an optional feature.
However it doesn't work reliable and strangely not in the native monitor mode?!
Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/p54')
-rw-r--r-- | drivers/net/wireless/p54/p54common.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/net/wireless/p54/p54common.c b/drivers/net/wireless/p54/p54common.c index b6905357a2e4..0a989834b70d 100644 --- a/drivers/net/wireless/p54/p54common.c +++ b/drivers/net/wireless/p54/p54common.c | |||
@@ -738,10 +738,7 @@ static int p54_rx_data(struct ieee80211_hw *dev, struct sk_buff *skb) | |||
738 | return 0; | 738 | return 0; |
739 | 739 | ||
740 | if (!(hdr->flags & cpu_to_le16(P54_HDR_FLAG_DATA_IN_FCS_GOOD))) { | 740 | if (!(hdr->flags & cpu_to_le16(P54_HDR_FLAG_DATA_IN_FCS_GOOD))) { |
741 | if (priv->filter_flags & FIF_FCSFAIL) | 741 | return 0; |
742 | rx_status.flag |= RX_FLAG_FAILED_FCS_CRC; | ||
743 | else | ||
744 | return 0; | ||
745 | } | 742 | } |
746 | 743 | ||
747 | if (hdr->decrypt_status == P54_DECRYPT_OK) | 744 | if (hdr->decrypt_status == P54_DECRYPT_OK) |
@@ -2220,9 +2217,7 @@ static void p54_configure_filter(struct ieee80211_hw *dev, | |||
2220 | struct p54_common *priv = dev->priv; | 2217 | struct p54_common *priv = dev->priv; |
2221 | 2218 | ||
2222 | *total_flags &= FIF_PROMISC_IN_BSS | | 2219 | *total_flags &= FIF_PROMISC_IN_BSS | |
2223 | FIF_OTHER_BSS | | 2220 | FIF_OTHER_BSS; |
2224 | (*total_flags & FIF_PROMISC_IN_BSS ? | ||
2225 | FIF_FCSFAIL : 0); | ||
2226 | 2221 | ||
2227 | priv->filter_flags = *total_flags; | 2222 | priv->filter_flags = *total_flags; |
2228 | 2223 | ||