diff options
author | Ben Greear <greearb@candelatech.com> | 2012-02-10 10:04:32 -0500 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2012-02-24 04:56:24 -0500 |
commit | eeb69aa443e8cdc945405c48f21ce03f5a3b1f86 (patch) | |
tree | a86ea6fafea4e2b1a0e57f6599ba35f223d2943c /drivers/net/ethernet/realtek | |
parent | d95089dc54ad07a8d10292fd06963b29b059ed5b (diff) |
8139too: Support RX-FCS flag.
This allows the NIC to pass the Ethernet FCS on up
the stack, and is useful when sniffing networks.
Signed-off-by: Ben Greear <greearb@candelatech.com>
Diffstat (limited to 'drivers/net/ethernet/realtek')
-rw-r--r-- | drivers/net/ethernet/realtek/8139too.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/ethernet/realtek/8139too.c b/drivers/net/ethernet/realtek/8139too.c index 1b9a090d4865..abd6aca70e9b 100644 --- a/drivers/net/ethernet/realtek/8139too.c +++ b/drivers/net/ethernet/realtek/8139too.c | |||
@@ -1023,6 +1023,7 @@ static int __devinit rtl8139_init_one (struct pci_dev *pdev, | |||
1023 | dev->vlan_features = dev->features; | 1023 | dev->vlan_features = dev->features; |
1024 | 1024 | ||
1025 | dev->hw_features |= NETIF_F_RXALL; | 1025 | dev->hw_features |= NETIF_F_RXALL; |
1026 | dev->hw_features |= NETIF_F_RXFCS; | ||
1026 | 1027 | ||
1027 | dev->irq = pdev->irq; | 1028 | dev->irq = pdev->irq; |
1028 | 1029 | ||
@@ -1970,7 +1971,10 @@ static int rtl8139_rx(struct net_device *dev, struct rtl8139_private *tp, | |||
1970 | /* read size+status of next frame from DMA ring buffer */ | 1971 | /* read size+status of next frame from DMA ring buffer */ |
1971 | rx_status = le32_to_cpu (*(__le32 *) (rx_ring + ring_offset)); | 1972 | rx_status = le32_to_cpu (*(__le32 *) (rx_ring + ring_offset)); |
1972 | rx_size = rx_status >> 16; | 1973 | rx_size = rx_status >> 16; |
1973 | pkt_size = rx_size - 4; | 1974 | if (likely(!(dev->features & NETIF_F_RXFCS))) |
1975 | pkt_size = rx_size - 4; | ||
1976 | else | ||
1977 | pkt_size = rx_size; | ||
1974 | 1978 | ||
1975 | netif_dbg(tp, rx_status, dev, "%s() status %04x, size %04x, cur %04x\n", | 1979 | netif_dbg(tp, rx_status, dev, "%s() status %04x, size %04x, cur %04x\n", |
1976 | __func__, rx_status, rx_size, cur_rx); | 1980 | __func__, rx_status, rx_size, cur_rx); |