r8169: Support RX-FCS flag.
This allows the NIC to receive the Ethernet FCS
and pass it up the stack, allowing sniffers and
other interested programs to inspect the FCS.
Signed-off-by: Ben Greear <greearb@candelatech.com>
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 0517a6a..fbd855b 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -4186,6 +4186,7 @@
dev->hw_features &= ~NETIF_F_HW_VLAN_RX;
dev->hw_features |= NETIF_F_RXALL;
+ dev->hw_features |= NETIF_F_RXFCS;
tp->hw_start = cfg->hw_start;
tp->event_slow = cfg->event_slow;
@@ -5773,7 +5774,10 @@
process_pkt:
addr = le64_to_cpu(desc->addr);
- pkt_size = (status & 0x00003fff) - 4;
+ if (likely(!(dev->features & NETIF_F_RXFCS)))
+ pkt_size = (status & 0x00003fff) - 4;
+ else
+ pkt_size = status & 0x00003fff;
/*
* The driver does not support incoming fragmented