aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorArend van Spriel <arend@broadcom.com>2013-04-03 06:40:42 -0400
committerJohn W. Linville <linville@tuxdriver.com>2013-04-03 15:07:06 -0400
commit2af15580f5f3bb814b80d0616cafd7646644ef7e (patch)
treef80f29d5d4129f29e0af8b7d9b1f03960bad246a /drivers
parent0f8b5cc5214b0c8c772d9ba0a41f5b1f07aff274 (diff)
brcmfmac: avoid error output in receive path
Parsing the tlv upon receiving frames can fail. Instead of printing an error message, just count the parse failure. On some devices we receive a lot of invalid tlv signals. this commit will be squashed. Signed-off-by: Arend van Spriel <arend@broadcom.com> Change-Id: I08e0f62c55e5028f9aa70c396d291679abd273c9 Reviewed-on: http://lb-bun-88.bun.broadcom.com:8080/72 Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Piotr Haber <phaber@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c b/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c
index eb63419cece0..314aedc0f9b3 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c
@@ -440,7 +440,6 @@ static int brcmf_fws_get_tlv_len(struct brcmf_fws_info *fws,
440 switch (id) { 440 switch (id) {
441 BRCMF_FWS_TLV_DEFLIST 441 BRCMF_FWS_TLV_DEFLIST
442 default: 442 default:
443 brcmf_err("invalid tlv id: %d\n", id);
444 fws->stats.tlv_invalid_type++; 443 fws->stats.tlv_invalid_type++;
445 break; 444 break;
446 } 445 }
@@ -1013,6 +1012,9 @@ int brcmf_fws_hdrpull(struct brcmf_pub *drvr, int ifidx, s16 signal_len,
1013 len = signal_data[1]; 1012 len = signal_data[1];
1014 data = signal_data + 2; 1013 data = signal_data + 2;
1015 1014
1015 brcmf_dbg(INFO, "tlv type=%d (%s), len=%d, data[0]=%d\n", type,
1016 brcmf_fws_get_tlv_name(type), len, *data);
1017
1016 /* abort parsing when length invalid */ 1018 /* abort parsing when length invalid */
1017 if (data_len < len + 2) 1019 if (data_len < len + 2)
1018 break; 1020 break;
@@ -1020,8 +1022,6 @@ int brcmf_fws_hdrpull(struct brcmf_pub *drvr, int ifidx, s16 signal_len,
1020 if (len != brcmf_fws_get_tlv_len(fws, type)) 1022 if (len != brcmf_fws_get_tlv_len(fws, type))
1021 break; 1023 break;
1022 1024
1023 brcmf_dbg(INFO, "tlv type=%d (%s), len=%d\n", type,
1024 brcmf_fws_get_tlv_name(type), len);
1025 switch (type) { 1025 switch (type) {
1026 case BRCMF_FWS_TYPE_MAC_OPEN: 1026 case BRCMF_FWS_TYPE_MAC_OPEN:
1027 case BRCMF_FWS_TYPE_MAC_CLOSE: 1027 case BRCMF_FWS_TYPE_MAC_CLOSE: