diff --git a/config-x86-generic b/config-x86-generic index 5b03870..8edfb42 100644 --- a/config-x86-generic +++ b/config-x86-generic @@ -315,6 +315,7 @@ CONFIG_ASUS_WMI=m CONFIG_ASUS_NB_WMI=m CONFIG_XO15_EBOOK=m CONFIG_INTEL_OAKTRAIL=m +CONFIG_SAMSUNG_Q10=m # CONFIG_TOUCHSCREEN_INTEL_MID is not set diff --git a/config-x86_64-generic b/config-x86_64-generic index 345a574..c9953f2 100644 --- a/config-x86_64-generic +++ b/config-x86_64-generic @@ -114,6 +114,7 @@ CONFIG_ASUS_WMI=m CONFIG_ASUS_NB_WMI=m # CONFIG_XO15_EBOOK is not set CONFIG_INTEL_OAKTRAIL=m +CONFIG_SAMSUNG_Q10=m # CONFIG_INTEL_SCU_IPC is not set diff --git a/fix-cdc-ncm-dma-stack-vars.patch b/fix-cdc-ncm-dma-stack-vars.patch index 6d7f5b8..17b555a 100644 --- a/fix-cdc-ncm-dma-stack-vars.patch +++ b/fix-cdc-ncm-dma-stack-vars.patch @@ -1,25 +1,23 @@ -From 1717b6b8b1de95ed4ca53b74d2ccb563fae9b898 Mon Sep 17 00:00:00 2001 -From: Josh Boyer -Date: Tue, 2 Aug 2011 08:09:56 -0400 -Subject: [PATCH] usbnet/cdc_ncm: Don't use stack variables for DMA buffers +commit 05511b61169da2f8dab464df61fa2bb952763a23 +Author: Josh Boyer +Date: Tue Aug 2 08:09:56 2011 -0400 -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 ---- - drivers/net/usb/cdc_ncm.c | 54 +++++++++++++++++++++++++++++++++++---------- - 1 files changed, 42 insertions(+), 12 deletions(-) + 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 diff --git a/drivers/net/usb/cdc_ncm.c b/drivers/net/usb/cdc_ncm.c -index fd622a6..bbcb133 100644 +index a03336e..f06fb78 100644 --- a/drivers/net/usb/cdc_ncm.c +++ b/drivers/net/usb/cdc_ncm.c -@@ -260,23 +260,39 @@ static u8 cdc_ncm_setup(struct cdc_ncm_ctx *ctx) - req.wIndex = cpu_to_le16(iface_no); +@@ -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; @@ -30,18 +28,14 @@ index fd622a6..bbcb133 100644 + err = -ENOMEM; + goto size_err; + } - - req.wLength = 8; -- ndp_in_sz.dwNtbInMaxSize = cpu_to_le32(ctx->rx_max); -- ndp_in_sz.wNtbInMaxDatagrams = -+ ndp_in_sz->dwNtbInMaxSize = cpu_to_le32(ctx->rx_max); -+ ndp_in_sz->wNtbInMaxDatagrams = - cpu_to_le16(CDC_NCM_DPT_DATAGRAMS_MAX); -- ndp_in_sz.wReserved = 0; -- err = cdc_ncm_do_request(ctx, &req, &ndp_in_sz, 0, NULL, -+ ndp_in_sz->wReserved = 0; -+ err = cdc_ncm_do_request(ctx, &req, ndp_in_sz, 0, NULL, - 1000); ++ + 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); @@ -53,26 +47,29 @@ index fd622a6..bbcb133 100644 + goto size_err; + } + *dwNtbInMaxSize = cpu_to_le32(ctx->rx_max); - - req.wLength = 4; -- err = cdc_ncm_do_request(ctx, &req, &dwNtbInMaxSize, 0, -+ err = cdc_ncm_do_request(ctx, &req, dwNtbInMaxSize, 0, - NULL, 1000); ++ + 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) + if (err < 0) pr_debug("Setting NTB Input Size failed\n"); } -@@ -362,9 +378,16 @@ static u8 cdc_ncm_setup(struct cdc_ncm_ctx *ctx) +@@ -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) { @@ -80,18 +77,14 @@ index fd622a6..bbcb133 100644 + goto max_dgram_err; + } + - req.bmRequestType = USB_TYPE_CLASS | USB_DIR_IN | - USB_RECIP_INTERFACE; - req.bNotificationType = USB_CDC_GET_MAX_DATAGRAM_SIZE; -@@ -372,13 +395,17 @@ static u8 cdc_ncm_setup(struct cdc_ncm_ctx *ctx) - req.wIndex = cpu_to_le16(iface_no); - req.wLength = cpu_to_le16(2); - -- err = cdc_ncm_do_request(ctx, &req, &max_datagram_size, 0, NULL, -+ err = cdc_ncm_do_request(ctx, &req, max_datagram_size, 0, NULL, - 1000); -+ - if (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); @@ -99,26 +92,18 @@ index fd622a6..bbcb133 100644 - 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) -@@ -401,10 +428,13 @@ static u8 cdc_ncm_setup(struct cdc_ncm_ctx *ctx) - req.wValue = 0; - req.wIndex = cpu_to_le16(iface_no); - req.wLength = 2; -- max_datagram_size = cpu_to_le16(ctx->max_datagram_size); -+ *max_datagram_size = -+ cpu_to_le16(ctx->max_datagram_size); - -- err = cdc_ncm_do_request(ctx, &req, &max_datagram_size, -+ err = cdc_ncm_do_request(ctx, &req, max_datagram_size, - 0, NULL, 1000); +@@ -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) + if (err < 0) pr_debug("SET_MAX_DATAGRAM_SIZE failed\n"); } --- -1.7.6 - diff --git a/kernel.spec b/kernel.spec index 0baa551..e8a0ee2 100644 --- a/kernel.spec +++ b/kernel.spec @@ -68,7 +68,7 @@ Summary: The Linux kernel %define stable_rc 0 # Set rpm version accordingly %if 0%{?stable_update} -%define stablerev .%{stable_update} +%define stablerev %{stable_update} %define stable_base %{stable_update} %if 0%{?stable_rc} # stable RCs are incremental patches, so we need the previous stable patch @@ -82,9 +82,9 @@ Summary: The Linux kernel # The next upstream release sublevel (base_sublevel+1) %define upstream_sublevel %(echo $((%{base_sublevel} + 1))) # The rc snapshot level -%define rcrev 0 +%define rcrev 1 # The git snapshot level -%define gitrev 21 +%define gitrev 0 # Set rpm version accordingly %define rpmversion 3.%{upstream_sublevel}.0 %endif @@ -529,6 +529,7 @@ BuildRequires: rpm-build >= 4.4.2.1-4 %endif Source0: ftp://ftp.kernel.org/pub/linux/kernel/v3.0/linux-%{kversion}.tar.bz2 +# Source0: ftp://ftp.kernel.org/pub/linux/kernel/v3.0/linux-3.1-rc1.tar.bz2 Source11: genkey Source14: find-provides @@ -1375,8 +1376,13 @@ BuildKernel() { KernelVer=%{version}-%{release}.%{_target_cpu}${Flavour:+.${Flavour}} echo BUILDING A KERNEL FOR ${Flavour} %{_target_cpu}... + %if 0%{?stable_update} + # make sure SUBLEVEL is incremented on a stable release. Sigh 3.x. + perl -p -i -e "s/^SUBLEVEL.*/SUBLEVEL = %{?stablerev}/" Makefile + %endif + # make sure EXTRAVERSION says what we want it to say - perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = %{?stablerev}-%{release}.%{_target_cpu}${Flavour:+.${Flavour}}/" Makefile + perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{release}.%{_target_cpu}${Flavour:+.${Flavour}}/" Makefile # if pre-rc1 devel kernel, must fix up PATCHLEVEL for our versioning scheme %if !0%{?rcrev} @@ -1891,6 +1897,10 @@ fi # ||----w | # || || %changelog +* Mon Aug 08 2011 Josh Boyer +- Linux-3.1-rc1 +- Adjust Makefile munging for new 3.x numbering scheme + * Fri Aug 05 2011 Dave Jones - Deselect CONFIG_DECNET. Unmaintained, and rubbish. diff --git a/linux-2.6.30-no-pcspkr-modalias.patch b/linux-2.6.30-no-pcspkr-modalias.patch index e210f46..439269c 100644 --- a/linux-2.6.30-no-pcspkr-modalias.patch +++ b/linux-2.6.30-no-pcspkr-modalias.patch @@ -1,7 +1,8 @@ -diff -up linux-2.6.30.noarch/drivers/input/misc/pcspkr.c.jx linux-2.6.30.noarch/drivers/input/misc/pcspkr.c ---- linux-2.6.30.noarch/drivers/input/misc/pcspkr.c.jx 2009-07-28 16:54:44.000000000 -0400 -+++ linux-2.6.30.noarch/drivers/input/misc/pcspkr.c 2009-07-28 16:59:36.000000000 -0400 -@@ -23,7 +23,6 @@ +diff --git a/drivers/input/misc/pcspkr.c b/drivers/input/misc/pcspkr.c +index 34f4d2e..3e40c70 100644 +--- a/drivers/input/misc/pcspkr.c ++++ b/drivers/input/misc/pcspkr.c +@@ -24,7 +24,6 @@ MODULE_AUTHOR("Vojtech Pavlik "); MODULE_DESCRIPTION("PC Speaker beeper driver"); MODULE_LICENSE("GPL"); diff --git a/sources b/sources index 274ad43..cc0422c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ 398e95866794def22b12dfbc15ce89c0 linux-3.0.tar.bz2 -78e99da6cd9a0a34b91b5a4f03d1d642 patch-3.0-git21.bz2 +9246c18f0f001dcb9a4c761541594655 patch-3.1-rc1.bz2