summaryrefslogtreecommitdiff
path: root/kernels/linux-libre-xen/3.11.1-fix-skge.patch
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@endefensadelsl.org>2013-09-26 15:41:19 -0300
committerNicolás Reynolds <fauno@endefensadelsl.org>2013-09-26 15:41:19 -0300
commitea4e2aab558fcea86a9aae9a8145c9471eba3863 (patch)
tree53bfdd049b76046e1c5e2f39c70de9f4a03e2775 /kernels/linux-libre-xen/3.11.1-fix-skge.patch
parent74b75f60da682fa0294928c0ed0e327c92e429e3 (diff)
parent98260c7b24558dc4b14df66c1b87fdf34a3d7dde (diff)
downloadabslibre-ea4e2aab558fcea86a9aae9a8145c9471eba3863.tar.gz
abslibre-ea4e2aab558fcea86a9aae9a8145c9471eba3863.tar.bz2
abslibre-ea4e2aab558fcea86a9aae9a8145c9471eba3863.zip
Merge branch 'master' of vparabola:abslibre
Diffstat (limited to 'kernels/linux-libre-xen/3.11.1-fix-skge.patch')
-rw-r--r--kernels/linux-libre-xen/3.11.1-fix-skge.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/kernels/linux-libre-xen/3.11.1-fix-skge.patch b/kernels/linux-libre-xen/3.11.1-fix-skge.patch
new file mode 100644
index 000000000..26d90e080
--- /dev/null
+++ b/kernels/linux-libre-xen/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);