2009-03-05 20:29:01

by Christian Lamparter

[permalink] [raw]
Subject: [PATCH 1/7] 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 <[email protected]>
---
John, this patch series is > 2.6.31+ material.
There's no hurry.
---
diff -Nurp a/drivers/net/wireless/p54/p54common.c b/drivers/net/wireless/p54/p54common.c
--- a/drivers/net/wireless/p54/p54common.c 2009-03-04 22:15:45.000000000 +0100
+++ b/drivers/net/wireless/p54/p54common.c 2009-03-04 22:18:49.000000000 +0100
@@ -735,10 +735,7 @@ static int p54_rx_data(struct ieee80211_
return 0;

if (!(hdr->flags & cpu_to_le16(P54_HDR_FLAG_DATA_IN_FCS_GOOD))) {
- if (priv->filter_flags & FIF_FCSFAIL)
- rx_status.flag |= RX_FLAG_FAILED_FCS_CRC;
- else
- return 0;
+ return 0;
}

if (hdr->decrypt_status == P54_DECRYPT_OK)
@@ -2211,9 +2208,7 @@ static void p54_configure_filter(struct
struct p54_common *priv = dev->priv;

*total_flags &= FIF_PROMISC_IN_BSS |
- FIF_OTHER_BSS |
- (*total_flags & FIF_PROMISC_IN_BSS ?
- FIF_FCSFAIL : 0);
+ FIF_OTHER_BSS;

priv->filter_flags = *total_flags;