aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/realtek
diff options
context:
space:
mode:
authorBen Greear <greearb@candelatech.com>2012-02-10 10:04:34 -0500
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2012-02-24 04:56:32 -0500
commit79d0c1d26e1eac0dc5b201e66b65cc5e4e706743 (patch)
tree919ebc8ef8156bbf6affcfab210166c90c673b67 /drivers/net/ethernet/realtek
parent6bbe021d405fff46b64a08dca51b06897b897a67 (diff)
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>
Diffstat (limited to 'drivers/net/ethernet/realtek')
-rw-r--r--drivers/net/ethernet/realtek/r8169.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 0517a6a252f1..fbd855bcd9f0 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -4186,6 +4186,7 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
4186 dev->hw_features &= ~NETIF_F_HW_VLAN_RX; 4186 dev->hw_features &= ~NETIF_F_HW_VLAN_RX;
4187 4187
4188 dev->hw_features |= NETIF_F_RXALL; 4188 dev->hw_features |= NETIF_F_RXALL;
4189 dev->hw_features |= NETIF_F_RXFCS;
4189 4190
4190 tp->hw_start = cfg->hw_start; 4191 tp->hw_start = cfg->hw_start;
4191 tp->event_slow = cfg->event_slow; 4192 tp->event_slow = cfg->event_slow;
@@ -5773,7 +5774,10 @@ static int rtl_rx(struct net_device *dev, struct rtl8169_private *tp, u32 budget
5773 5774
5774process_pkt: 5775process_pkt:
5775 addr = le64_to_cpu(desc->addr); 5776 addr = le64_to_cpu(desc->addr);
5776 pkt_size = (status & 0x00003fff) - 4; 5777 if (likely(!(dev->features & NETIF_F_RXFCS)))
5778 pkt_size = (status & 0x00003fff) - 4;
5779 else
5780 pkt_size = status & 0x00003fff;
5777 5781
5778 /* 5782 /*
5779 * The driver does not support incoming fragmented 5783 * The driver does not support incoming fragmented