aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorLuis R. Rodriguez <lrodriguez@atheros.com>2010-05-10 15:26:27 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-05-11 15:14:20 -0400
commit9637e516d16a58b13f6098cfe899e22963132be3 (patch)
treef7a49fa81a7d8ac15bf0c7804027c059739a24fa /drivers/net
parentb1b3751c750277c92684c932b46eeb723babe196 (diff)
ath5k: drop warning on jumbo frames
Jumbo frames are not supported, and if they are seen it is likely a bogus frame so just silently discard them instead of warning on them all time. Also, instead of dropping them immediately though move the check *after* we check for all sort of frame errors. This should enable us to discard these frames if the hardware picks other bogus items first. Lets see if we still get those jumbo counters increasing still with this. Jumbo frames would happen if we tell hardware we can support a small 802.11 chunks of DMA'd frame, hardware would split RX'd frames into parts and we'd have to reconstruct them in software. This is done with USB due to the bulk size but with ath5k we already provide a good limit to hardware and this should not be happening. This is reported quite often and if it fills the logs then this needs to be addressed and to avoid spurious reports. Cc: stable@kernel.org Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/ath/ath5k/base.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c
index feb7b9ea80ab..febd0367867e 100644
--- a/drivers/net/wireless/ath/ath5k/base.c
+++ b/drivers/net/wireless/ath/ath5k/base.c
@@ -1931,12 +1931,6 @@ ath5k_tasklet_rx(unsigned long data)
1931 1931
1932 sc->stats.rx_all_count++; 1932 sc->stats.rx_all_count++;
1933 1933
1934 if (unlikely(rs.rs_more)) {
1935 ATH5K_WARN(sc, "unsupported jumbo\n");
1936 sc->stats.rxerr_jumbo++;
1937 goto next;
1938 }
1939
1940 if (unlikely(rs.rs_status)) { 1934 if (unlikely(rs.rs_status)) {
1941 if (rs.rs_status & AR5K_RXERR_CRC) 1935 if (rs.rs_status & AR5K_RXERR_CRC)
1942 sc->stats.rxerr_crc++; 1936 sc->stats.rxerr_crc++;
@@ -1976,6 +1970,12 @@ ath5k_tasklet_rx(unsigned long data)
1976 sc->opmode != NL80211_IFTYPE_MONITOR) 1970 sc->opmode != NL80211_IFTYPE_MONITOR)
1977 goto next; 1971 goto next;
1978 } 1972 }
1973
1974 if (unlikely(rs.rs_more)) {
1975 sc->stats.rxerr_jumbo++;
1976 goto next;
1977
1978 }
1979accept: 1979accept:
1980 next_skb = ath5k_rx_skb_alloc(sc, &next_skb_addr); 1980 next_skb = ath5k_rx_skb_alloc(sc, &next_skb_addr);
1981 1981