Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cc9f022d authored by Francois Romieu's avatar Francois Romieu Committed by Francois Romieu
Browse files

r8169: more alignment for the 0x8168

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: default avatarFrancois Romieu <romieu@fr.zoreil.com>
parent 12d86f68
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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);