diff options
author | Arend van Spriel <arend@broadcom.com> | 2013-04-03 06:40:42 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-04-03 15:07:06 -0400 |
commit | 2af15580f5f3bb814b80d0616cafd7646644ef7e (patch) | |
tree | f80f29d5d4129f29e0af8b7d9b1f03960bad246a /drivers | |
parent | 0f8b5cc5214b0c8c772d9ba0a41f5b1f07aff274 (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.c | 6 |
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: |