projects
/
profile
/
ivi
/
kernel-adaptation-intel-automotive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
r8169: Support RX-FCS flag.
[profile/ivi/kernel-adaptation-intel-automotive.git]
/
drivers
/
net
/
ethernet
/
realtek
/
r8169.c
diff --git
a/drivers/net/ethernet/realtek/r8169.c
b/drivers/net/ethernet/realtek/r8169.c
index
0517a6a
..
fbd855b
100644
(file)
--- 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)
dev->hw_features &= ~NETIF_F_HW_VLAN_RX;
dev->hw_features |= NETIF_F_RXALL;
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;
tp->hw_start = cfg->hw_start;
tp->event_slow = cfg->event_slow;
@@
-5773,7
+5774,10
@@
static int rtl_rx(struct net_device *dev, struct rtl8169_private *tp, u32 budget
process_pkt:
addr = le64_to_cpu(desc->addr);
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
/*
* The driver does not support incoming fragmented