summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosh Boyer <jwboyer@redhat.com>2012-09-16 09:12:35 -0400
committerJosh Boyer <jwboyer@redhat.com>2012-09-16 09:12:49 -0400
commit9c840a07090155027e8d5a7a0a7c910cd443edf8 (patch)
treea43943dda104d91837362a269c174abef0094ae6
parentf6771f41a89f877c8b3450ce170ce76696718094 (diff)
downloadkernel-9c840a07090155027e8d5a7a0a7c910cd443edf8.tar.gz
kernel-9c840a07090155027e8d5a7a0a7c910cd443edf8.tar.xz
kernel-9c840a07090155027e8d5a7a0a7c910cd443edf8.zip
Linux v3.6-rc5-315-g3f0c3c8
-rw-r--r--ibmveth-Fix-alignment-of-rx-queue-bug.patch80
-rw-r--r--kernel.spec11
-rw-r--r--sources2
3 files changed, 5 insertions, 88 deletions
diff --git a/ibmveth-Fix-alignment-of-rx-queue-bug.patch b/ibmveth-Fix-alignment-of-rx-queue-bug.patch
deleted file mode 100644
index 79353a61c..000000000
--- a/ibmveth-Fix-alignment-of-rx-queue-bug.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-This patch fixes a bug found by Nish Aravamudan
-(https://lkml.org/lkml/2012/5/15/220) where the driver is not following
-the spec (it is not aligning the rx buffer on a 16-byte boundary) and the
-hypervisor aborts the registration, making the device unusable.
-
-The fix follows BenH's recommendation (https://lkml.org/lkml/2012/7/20/461)
-to replace the kmalloc+map for a single call to dma_alloc_coherent()
-because that function always aligns to a 16-byte boundary.
-
-The stable trees will run into this bug whenever the rx buffer kmalloc call
-returns something not aligned on a 16-byte boundary.
-
-Cc: <stable@vger.kernel.org>
-Signed-off-by: Santiago Leon <santil@linux.vnet.ibm.com>
----
- ibmveth.c | 26 +++++++++-----------------
- 1 file changed, 9 insertions(+), 17 deletions(-)
-
---- a/drivers/net/ethernet/ibm/ibmveth.c 2012-07-09 16:00:53.000000000 -0400
-+++ b/drivers/net/ethernet/ibm/ibmveth.c 2012-08-17 19:51:02.840000188 -0400
-@@ -472,14 +472,9 @@ static void ibmveth_cleanup(struct ibmve
- }
-
- if (adapter->rx_queue.queue_addr != NULL) {
-- if (!dma_mapping_error(dev, adapter->rx_queue.queue_dma)) {
-- dma_unmap_single(dev,
-- adapter->rx_queue.queue_dma,
-- adapter->rx_queue.queue_len,
-- DMA_BIDIRECTIONAL);
-- adapter->rx_queue.queue_dma = DMA_ERROR_CODE;
-- }
-- kfree(adapter->rx_queue.queue_addr);
-+ dma_free_coherent(dev, adapter->rx_queue.queue_len,
-+ adapter->rx_queue.queue_addr,
-+ adapter->rx_queue.queue_dma);
- adapter->rx_queue.queue_addr = NULL;
- }
-
-@@ -556,10 +551,13 @@ static int ibmveth_open(struct net_devic
- goto err_out;
- }
-
-+ dev = &adapter->vdev->dev;
-+
- adapter->rx_queue.queue_len = sizeof(struct ibmveth_rx_q_entry) *
- rxq_entries;
-- adapter->rx_queue.queue_addr = kmalloc(adapter->rx_queue.queue_len,
-- GFP_KERNEL);
-+ adapter->rx_queue.queue_addr =
-+ dma_alloc_coherent(dev, adapter->rx_queue.queue_len,
-+ &adapter->rx_queue.queue_dma, GFP_KERNEL);
-
- if (!adapter->rx_queue.queue_addr) {
- netdev_err(netdev, "unable to allocate rx queue pages\n");
-@@ -567,19 +565,13 @@ static int ibmveth_open(struct net_devic
- goto err_out;
- }
-
-- dev = &adapter->vdev->dev;
--
- adapter->buffer_list_dma = dma_map_single(dev,
- adapter->buffer_list_addr, 4096, DMA_BIDIRECTIONAL);
- adapter->filter_list_dma = dma_map_single(dev,
- adapter->filter_list_addr, 4096, DMA_BIDIRECTIONAL);
-- adapter->rx_queue.queue_dma = dma_map_single(dev,
-- adapter->rx_queue.queue_addr,
-- adapter->rx_queue.queue_len, DMA_BIDIRECTIONAL);
-
- if ((dma_mapping_error(dev, adapter->buffer_list_dma)) ||
-- (dma_mapping_error(dev, adapter->filter_list_dma)) ||
-- (dma_mapping_error(dev, adapter->rx_queue.queue_dma))) {
-+ (dma_mapping_error(dev, adapter->filter_list_dma))) {
- netdev_err(netdev, "unable to map filter or buffer list "
- "pages\n");
- rc = -ENOMEM;
-
---
-To unsubscribe from this list: send the line "unsubscribe netdev" in
-the body of a message to majordomo@vger.kernel.org
-More majordomo info at http://vger.kernel.org/majordomo-info.html \ No newline at end of file
diff --git a/kernel.spec b/kernel.spec
index 8e83ca9e3..33a1989af 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -95,7 +95,7 @@ Summary: The Linux kernel
# The rc snapshot level
%define rcrev 5
# The git snapshot level
-%define gitrev 2
+%define gitrev 3
# Set rpm version accordingly
%define rpmversion 3.%{upstream_sublevel}.0
%endif
@@ -755,9 +755,6 @@ Patch22066: virtio-scsi-Initialize-scatterlist-structure.patch
#rhbz 846037
Patch22067: selinux-Fix-sel_netnode_insert-suspicious-rcu-dereference.patch
-#rhbz 852842
-Patch22068: ibmveth-Fix-alignment-of-rx-queue-bug.patch
-
# END OF PATCH DEFINITIONS
%endif
@@ -1456,9 +1453,6 @@ ApplyPatch virtio-scsi-Initialize-scatterlist-structure.patch
#rhbz 846037
ApplyPatch selinux-Fix-sel_netnode_insert-suspicious-rcu-dereference.patch
-#rhbz 852842
-ApplyPatch ibmveth-Fix-alignment-of-rx-queue-bug.patch
-
# END OF PATCH APPLICATIONS
%endif
@@ -2321,6 +2315,9 @@ fi
# ||----w |
# || ||
%changelog
+* Sun Sep 16 2012 Josh Boyer <jwboyer@redhat.com> - 3.6.0-0.rc5.git3.1
+- Linux v3.6-rc5-315-g3f0c3c8
+
* Fri Sep 14 2012 Dave Jones <davej@redhat.com>
- Enable CONFIG_DRM_LOAD_EDID_FIRMWARE (rhbz 857511)
diff --git a/sources b/sources
index ddf16cf32..057febf26 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
24153eaaa81dedc9481ada8cd9c3b83d linux-3.5.tar.xz
64bf4320655fcf172412764eeca9fa7d patch-3.6-rc5.xz
-136a0dd334e88def7136486d53e298a9 patch-3.6-rc5-git2.xz
+c6374674c8226b5b470becdea700495e patch-3.6-rc5-git3.xz