sky2: propogate rx hash when packet is copied

svn path=/dists/sid/linux-2.6/; revision=18993
This commit is contained in:
Ben Hutchings 2012-05-12 10:10:33 +00:00
parent 49bfc8e1cb
commit 083d79dd26
3 changed files with 41 additions and 0 deletions

1
debian/changelog vendored
View File

@ -8,6 +8,7 @@ linux-2.6 (3.2.17-1) UNRELEASED; urgency=low
* ext4: Report max_batch_time option correctly (Closes: #654206)
* [i386/rt-686-pae] Enable HIGHMEM64G as intended for this configuration
* NFSv4: Revalidate uid/gid after open (Closes: #659111)
* sky2: propogate rx hash when packet is copied
* sky2: fix receive length error in mixed non-VLAN/VLAN traffic
(Closes: #492853)

View File

@ -0,0 +1,39 @@
From 5ab3f9a96c8f77166a2d0c3bdd9ed2a5029e3271 Mon Sep 17 00:00:00 2001
From: stephen hemminger <shemminger@vyatta.com>
Date: Mon, 30 Apr 2012 05:49:45 +0000
Subject: [PATCH 05/10] sky2: propogate rx hash when packet is copied
[ Upstream commit 3f42941b5d1d13542b1a755a9e4f633aa72e4d3e ]
When a small packet is received, the driver copies it to a new skb to allow
reusing the full size Rx buffer. The copy was propogating the checksum offload
but not the receive hash information. The bug is impact was mostly harmless
and therefore not observed until reviewing this area of code.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
drivers/net/ethernet/marvell/sky2.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/ethernet/marvell/sky2.c b/drivers/net/ethernet/marvell/sky2.c
index 7eb8a00..e1f4b65 100644
--- a/drivers/net/ethernet/marvell/sky2.c
+++ b/drivers/net/ethernet/marvell/sky2.c
@@ -2475,8 +2475,11 @@ static struct sk_buff *receive_copy(struct sky2_port *sky2,
skb_copy_from_linear_data(re->skb, skb->data, length);
skb->ip_summed = re->skb->ip_summed;
skb->csum = re->skb->csum;
+ skb->rxhash = re->skb->rxhash;
+
pci_dma_sync_single_for_device(sky2->hw->pdev, re->data_addr,
length, PCI_DMA_FROMDEVICE);
+ re->skb->rxhash = 0;
re->skb->ip_summed = CHECKSUM_NONE;
skb_put(skb, length);
}
--
1.7.10.1

View File

@ -193,4 +193,5 @@
+ bugfix/all/ext4-Report-max_batch_time-option-correctly.patch
+ bugfix/all/brcm80211-smac-pass-missing-argument-to-brcms_b_mute.patch
+ bugfix/all/nfsv4-revalidate-uid-gid-after-open.patch
+ bugfix/all/sky2-propogate-rx-hash-when-packet-is-copied.patch
+ bugfix/all/sky2-fix-receive-length-error-in-mixed-non-vlan-vlan.patch