]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
r8169: expand received packet length indication.
authorFrancois Romieu <romieu@fr.zoreil.com>
Tue, 12 Jul 2011 06:24:28 +0000 (08:24 +0200)
committerJoe Jin <joe.jin@oracle.com>
Fri, 18 May 2012 02:18:39 +0000 (10:18 +0800)
8168d and above allow jumbo frames beyond 8k. Bump the received
packet length check before enabling jumbo frames on these chipsets.

Frame length indication covers bits 0..13 of the first Rx descriptor
32 bits for the 8169 and 8168. I only have authoritative documentation
for the allowed use of the extra (13) bit with the 8169 and 8168c.
Realtek's drivers use the same mask for the 816x and the fast ethernet
only 810x.

(cherry picked from commit deb9d93c89d311714a60809b28160e538e1cbb43)
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Joe Jin <joe.jin@oracle.com>
drivers/net/r8169.c

index f06c036d6750d002d3dc1e8ac422e387e5a0155c..01fcc5026b75e4dd12db04b0b3b18f5de415a462 100644 (file)
@@ -5415,7 +5415,7 @@ static int rtl8169_rx_interrupt(struct net_device *dev,
                } else {
                        struct sk_buff *skb;
                        dma_addr_t addr = le64_to_cpu(desc->addr);
-                       int pkt_size = (status & 0x00001FFF) - 4;
+                       int pkt_size = (status & 0x00003fff) - 4;
 
                        /*
                         * The driver does not support incoming fragmented