]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ath5k: drop warning on jumbo frames
authorLuis R. Rodriguez <lrodriguez@atheros.com>
Mon, 10 May 2010 19:26:27 +0000 (15:26 -0400)
committerPaul Gortmaker <paul.gortmaker@windriver.com>
Thu, 6 Jan 2011 23:07:33 +0000 (18:07 -0500)
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: Paul Gortmaker <paul.gortmaker@windriver.com>
drivers/net/wireless/ath/ath5k/base.c

index a350147858c3f2036207ffcf7759fe5dd0d3173b..db8416966670cbc77abb6d92691dec1c9b95486e 100644 (file)
@@ -1871,11 +1871,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;
@@ -1905,6 +1900,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);