Commit 346de732 authored by Christian Lamparter's avatar Christian Lamparter Committed by John W. Linville

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: default avatarChristian Lamparter <chunkeey@web.de>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 05c9a4cf
...@@ -738,10 +738,7 @@ static int p54_rx_data(struct ieee80211_hw *dev, struct sk_buff *skb) ...@@ -738,10 +738,7 @@ static int p54_rx_data(struct ieee80211_hw *dev, struct sk_buff *skb)
return 0; return 0;
if (!(hdr->flags & cpu_to_le16(P54_HDR_FLAG_DATA_IN_FCS_GOOD))) { if (!(hdr->flags & cpu_to_le16(P54_HDR_FLAG_DATA_IN_FCS_GOOD))) {
if (priv->filter_flags & FIF_FCSFAIL) return 0;
rx_status.flag |= RX_FLAG_FAILED_FCS_CRC;
else
return 0;
} }
if (hdr->decrypt_status == P54_DECRYPT_OK) if (hdr->decrypt_status == P54_DECRYPT_OK)
...@@ -2220,9 +2217,7 @@ static void p54_configure_filter(struct ieee80211_hw *dev, ...@@ -2220,9 +2217,7 @@ static void p54_configure_filter(struct ieee80211_hw *dev,
struct p54_common *priv = dev->priv; struct p54_common *priv = dev->priv;
*total_flags &= FIF_PROMISC_IN_BSS | *total_flags &= FIF_PROMISC_IN_BSS |
FIF_OTHER_BSS | FIF_OTHER_BSS;
(*total_flags & FIF_PROMISC_IN_BSS ?
FIF_FCSFAIL : 0);
priv->filter_flags = *total_flags; priv->filter_flags = *total_flags;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment