summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fix-cdc-ncm-dma-stack-vars.patch109
-rw-r--r--kernel.spec9
-rw-r--r--sources1
3 files changed, 6 insertions, 113 deletions
diff --git a/fix-cdc-ncm-dma-stack-vars.patch b/fix-cdc-ncm-dma-stack-vars.patch
deleted file mode 100644
index 17b555a85..000000000
--- a/fix-cdc-ncm-dma-stack-vars.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-commit 05511b61169da2f8dab464df61fa2bb952763a23
-Author: Josh Boyer <jwboyer@redhat.com>
-Date: Tue Aug 2 08:09:56 2011 -0400
-
- usbnet/cdc_ncm: Don't use stack variables for DMA buffers
-
- The cdc_ncm driver still has a few places where stack variables are passed
- to the cdc_ncm_do_request function. This triggers a stack trace in
- lib/dma-debug.c if the CONFIG_DEBUG_DMA_API option is set.
-
- Adjust these calls to pass parameters that have been allocated with kzalloc.
-
- Signed-off-by: Josh Boyer <jwboyer@redhat.com>
-
-diff --git a/drivers/net/usb/cdc_ncm.c b/drivers/net/usb/cdc_ncm.c
-index a03336e..f06fb78 100644
---- a/drivers/net/usb/cdc_ncm.c
-+++ b/drivers/net/usb/cdc_ncm.c
-@@ -228,23 +228,40 @@ static u8 cdc_ncm_setup(struct cdc_ncm_ctx *ctx)
- if (ctx->rx_max != le32_to_cpu(ctx->ncm_parm.dwNtbInMaxSize)) {
-
- if (flags & USB_CDC_NCM_NCAP_NTB_INPUT_SIZE) {
-- struct usb_cdc_ncm_ndp_input_size ndp_in_sz;
-+ struct usb_cdc_ncm_ndp_input_size *ndp_in_sz;
-+
-+ ndp_in_sz = kzalloc(sizeof(*ndp_in_sz), GFP_KERNEL);
-+ if (!ndp_in_sz) {
-+ err = -ENOMEM;
-+ goto size_err;
-+ }
-+
- err = usb_control_msg(ctx->udev,
- usb_sndctrlpipe(ctx->udev, 0),
- USB_CDC_SET_NTB_INPUT_SIZE,
- USB_TYPE_CLASS | USB_DIR_OUT
- | USB_RECIP_INTERFACE,
-- 0, iface_no, &ndp_in_sz, 8, 1000);
-+ 0, iface_no, ndp_in_sz, 8, 1000);
-+ kfree(ndp_in_sz);
- } else {
-- __le32 dwNtbInMaxSize = cpu_to_le32(ctx->rx_max);
-+ __le32 *dwNtbInMaxSize;
-+ dwNtbInMaxSize = kzalloc(sizeof(*dwNtbInMaxSize),
-+ GFP_KERNEL);
-+ if (!dwNtbInMaxSize) {
-+ err = -ENOMEM;
-+ goto size_err;
-+ }
-+ *dwNtbInMaxSize = cpu_to_le32(ctx->rx_max);
-+
- err = usb_control_msg(ctx->udev,
- usb_sndctrlpipe(ctx->udev, 0),
- USB_CDC_SET_NTB_INPUT_SIZE,
- USB_TYPE_CLASS | USB_DIR_OUT
- | USB_RECIP_INTERFACE,
-- 0, iface_no, &dwNtbInMaxSize, 4, 1000);
-+ 0, iface_no, dwNtbInMaxSize, 4, 1000);
-+ kfree(dwNtbInMaxSize);
- }
--
-+size_err:
- if (err < 0)
- pr_debug("Setting NTB Input Size failed\n");
- }
-@@ -325,19 +342,29 @@ static u8 cdc_ncm_setup(struct cdc_ncm_ctx *ctx)
-
- /* set Max Datagram Size (MTU) */
- if (flags & USB_CDC_NCM_NCAP_MAX_DATAGRAM_SIZE) {
-- __le16 max_datagram_size;
-+ __le16 *max_datagram_size;
- u16 eth_max_sz = le16_to_cpu(ctx->ether_desc->wMaxSegmentSize);
-+
-+ max_datagram_size = kzalloc(sizeof(*max_datagram_size),
-+ GFP_KERNEL);
-+ if (!max_datagram_size) {
-+ err = -ENOMEM;
-+ goto max_dgram_err;
-+ }
-+
- err = usb_control_msg(ctx->udev, usb_rcvctrlpipe(ctx->udev, 0),
- USB_CDC_GET_MAX_DATAGRAM_SIZE,
- USB_TYPE_CLASS | USB_DIR_IN
- | USB_RECIP_INTERFACE,
-- 0, iface_no, &max_datagram_size,
-+ 0, iface_no, max_datagram_size,
- 2, 1000);
- if (err < 0) {
- pr_debug("GET_MAX_DATAGRAM_SIZE failed, use size=%u\n",
- CDC_NCM_MIN_DATAGRAM_SIZE);
-+ kfree(max_datagram_size);
- } else {
-- ctx->max_datagram_size = le16_to_cpu(max_datagram_size);
-+ ctx->max_datagram_size =
-+ le16_to_cpu(*max_datagram_size);
- /* Check Eth descriptor value */
- if (eth_max_sz < CDC_NCM_MAX_DATAGRAM_SIZE) {
- if (ctx->max_datagram_size > eth_max_sz)
-@@ -360,8 +387,10 @@ static u8 cdc_ncm_setup(struct cdc_ncm_ctx *ctx)
- USB_TYPE_CLASS | USB_DIR_OUT
- | USB_RECIP_INTERFACE,
- 0,
-- iface_no, &max_datagram_size,
-+ iface_no, max_datagram_size,
- 2, 1000);
-+ kfree(max_datagram_size);
-+max_dgram_err:
- if (err < 0)
- pr_debug("SET_MAX_DATAGRAM_SIZE failed\n");
- }
diff --git a/kernel.spec b/kernel.spec
index 6f9305b8f..41ea3b319 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -51,7 +51,7 @@ Summary: The Linux kernel
# For non-released -rc kernels, this will be prepended with "0.", so
# for example a 3 here will become 0.3
#
-%global baserelease 1
+%global baserelease 0
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
@@ -84,7 +84,7 @@ Summary: The Linux kernel
# The rc snapshot level
%define rcrev 3
# The git snapshot level
-%define gitrev 0
+%define gitrev 3
# Set rpm version accordingly
%define rpmversion 3.%{upstream_sublevel}.0
%endif
@@ -711,7 +711,6 @@ Patch12016: disable-i8042-check-on-apple-mac.patch
Patch12021: udlfb-bind-framebuffer-to-interface.patch
-Patch12022: fix-cdc-ncm-dma-stack-vars.patch
Patch12023: ums-realtek-driver-uses-stack-memory-for-DMA.patch
Patch12024: epoll-fix-spurious-lockdep-warnings.patch
Patch12025: rcu-avoid-just-onlined-cpu-resched.patch
@@ -1339,7 +1338,6 @@ ApplyPatch disable-i8042-check-on-apple-mac.patch
ApplyPatch add-appleir-usb-driver.patch
ApplyPatch udlfb-bind-framebuffer-to-interface.patch
-ApplyPatch fix-cdc-ncm-dma-stack-vars.patch
ApplyPatch ums-realtek-driver-uses-stack-memory-for-DMA.patch
ApplyPatch epoll-fix-spurious-lockdep-warnings.patch
ApplyPatch rcu-avoid-just-onlined-cpu-resched.patch
@@ -2074,6 +2072,9 @@ fi
# ||----w |
# || ||
%changelog
+* Thu Aug 25 2011 Josh Boyer <jwboyer@redhat.com>
+- Linux 3.1-rc3-git3
+
* Wed Aug 24 2011 Josh Boyer <jwboyer@redhat.com>
- Revert 'iwlwifi: advertise max aggregate size'. (rhbz 708747)
diff --git a/sources b/sources
index c733b510b..519e56b0e 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,3 @@
398e95866794def22b12dfbc15ce89c0 linux-3.0.tar.bz2
b9a15f79846c4d01fa3019a3112a8d04 patch-3.1-rc3.bz2
+15b485bfe634c60bcb1e7de916b1bc41 patch-3.1-rc3-git3.bz2