projects
/
firefly-linux-kernel-4.4.55.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
12d86f6
)
r8169: more alignment for the 0x8168
author
Francois Romieu
<romieu@fr.zoreil.com>
Fri, 17 Nov 2006 22:15:17 +0000
(23:15 +0100)
committer
Francois Romieu
<romieu@electric-eye.fr.zoreil.com>
Mon, 4 Dec 2006 00:04:36 +0000
(
01:04
+0100)
Two thirds of packets are lost because of misalignment. Users of
Asus laptop did apparently not notice it.
Reported on Gigabyte GA-945GM-S2.
Fix for http://bugzilla.kernel.org/show_bug.cgi?id=7517
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
drivers/net/r8169.c
patch
|
blob
|
history
diff --git
a/drivers/net/r8169.c
b/drivers/net/r8169.c
index 0b57050252eb48ea17b03caf630c8d920f81efbc..2379d83768d6adafa6a412dafece896553313a10 100644
(file)
--- a/
drivers/net/r8169.c
+++ b/
drivers/net/r8169.c
@@
-2018,7
+2018,7
@@
static int rtl8169_alloc_rx_skb(struct pci_dev *pdev, struct sk_buff **sk_buff,
if (!skb)
goto err_out;
- skb_reserve(skb,
align
);
+ skb_reserve(skb,
(align - 1) & (u32)skb->data
);
*sk_buff = skb;
mapping = pci_map_single(pdev, skb->data, rx_buf_sz,
@@
-2486,7
+2486,7
@@
static inline int rtl8169_try_rx_copy(struct sk_buff **sk_buff, int pkt_size,
skb = dev_alloc_skb(pkt_size + align);
if (skb) {
- skb_reserve(skb,
align
);
+ skb_reserve(skb,
(align - 1) & (u32)skb->data
);
eth_copy_and_sum(skb, sk_buff[0]->data, pkt_size, 0);
*sk_buff = skb;
rtl8169_mark_to_asic(desc, rx_buf_sz);