| From 9637e516d16a58b13f6098cfe899e22963132be3 Mon Sep 17 00:00:00 2001 |
| From: Luis R. Rodriguez <lrodriguez@atheros.com> |
| Date: Mon, 10 May 2010 15:26:27 -0400 |
| Subject: ath5k: drop warning on jumbo frames |
| |
| From: Luis R. Rodriguez <lrodriguez@atheros.com> |
| |
| commit 9637e516d16a58b13f6098cfe899e22963132be3 upstream. |
| |
| 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. |
| |
| Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/net/wireless/ath/ath5k/base.c | 7 ++----- |
| 1 file changed, 2 insertions(+), 5 deletions(-) |
| |
| --- a/drivers/net/wireless/ath/ath5k/base.c |
| +++ b/drivers/net/wireless/ath/ath5k/base.c |
| @@ -1851,11 +1851,6 @@ ath5k_tasklet_rx(unsigned long data) |
| return; |
| } |
| |
| - if (unlikely(rs.rs_more)) { |
| - ATH5K_WARN(sc, "unsupported jumbo\n"); |
| - goto next; |
| - } |
| - |
| if (unlikely(rs.rs_status)) { |
| if (rs.rs_status & AR5K_RXERR_PHY) |
| goto next; |
| @@ -1885,6 +1880,8 @@ ath5k_tasklet_rx(unsigned long data) |
| sc->opmode != NL80211_IFTYPE_MONITOR) |
| goto next; |
| } |
| + if (unlikely(rs.rs_more)) |
| + goto next; |
| accept: |
| next_skb = ath5k_rx_skb_alloc(sc, &next_skb_addr); |
| |