summaryrefslogtreecommitdiffstats
path: root/linux-custom/3.11.1-fix-skge.patch
diff options
context:
space:
mode:
authorGravatar Tom Willemse2013-10-05 10:50:07 +0200
committerGravatar Tom Willemse2013-10-05 10:52:19 +0200
commitbfd1c6836978eebb67a02dedef7cb36b818abeac (patch)
tree50e1fb6ccc2b7b3b29a635daf30e4971bf0a2e12 /linux-custom/3.11.1-fix-skge.patch
parentf138f46d6373a606d1f280bf11a12fa60c924cfb (diff)
downloadpkgbuilds-bfd1c6836978eebb67a02dedef7cb36b818abeac.tar.gz
pkgbuilds-bfd1c6836978eebb67a02dedef7cb36b818abeac.zip
Add linux-custom
Diffstat (limited to 'linux-custom/3.11.1-fix-skge.patch')
-rw-r--r--linux-custom/3.11.1-fix-skge.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/linux-custom/3.11.1-fix-skge.patch b/linux-custom/3.11.1-fix-skge.patch
new file mode 100644
index 0000000..26d90e0
--- /dev/null
+++ b/linux-custom/3.11.1-fix-skge.patch
@@ -0,0 +1,34 @@
+--- a/drivers/net/ethernet/marvell/skge.c 2013-09-02 16:46:10.000000000 -0400
++++ b/drivers/net/ethernet/marvell/skge.c 2013-09-22 11:14:10.232067541 -0400
+@@ -3086,23 +3086,27 @@
+ PCI_DMA_FROMDEVICE);
+ skge_rx_reuse(e, skge->rx_buf_size);
+ } else {
++ struct skge_element ee;
+ struct sk_buff *nskb;
+
+ nskb = netdev_alloc_skb_ip_align(dev, skge->rx_buf_size);
+ if (!nskb)
+ goto resubmit;
+
++ ee = *e;
++
++ skb = ee.skb;
++ prefetch(skb->data);
++
+ if (skge_rx_setup(skge, e, nskb, skge->rx_buf_size) < 0) {
+ dev_kfree_skb(nskb);
+ goto resubmit;
+ }
+
+ pci_unmap_single(skge->hw->pdev,
+- dma_unmap_addr(e, mapaddr),
+- dma_unmap_len(e, maplen),
++ dma_unmap_addr(&ee, mapaddr),
++ dma_unmap_len(&ee, maplen),
+ PCI_DMA_FROMDEVICE);
+- skb = e->skb;
+- prefetch(skb->data);
+ }
+
+ skb_put(skb, len);