Skip to content

Commit

Permalink
r8169: more alignment for the 0x8168
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Francois Romieu authored and Francois Romieu committed Dec 4, 2006
1 parent 12d86f6 commit cc9f022
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/net/r8169.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit cc9f022

Please sign in to comment.