diff options
| author | Greg Kroah-Hartman <gregkh@suse.de> | 2010-10-21 11:42:14 -0700 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-10-21 11:42:14 -0700 |
| commit | 36aa63b395b0ac1c3cd6e52c4b163c85d015ca6c (patch) | |
| tree | fefb2e6715c62330c828d2c5cd3e081503429fcd | |
| parent | 38ae02a5be03e07f96d50d7c5ff63b3f7634fb68 (diff) | |
| download | patches-36aa63b395b0ac1c3cd6e52c4b163c85d015ca6c.tar.gz | |
more fixes
| -rw-r--r-- | series | 4 | ||||
| -rw-r--r-- | tty/serial8250-ratelimit-too-much-work-error.patch | 50 | ||||
| -rw-r--r-- | usb/usb-am35x-add-musb-support.patch | 18 | ||||
| -rw-r--r-- | usb/usb-gadget-amd5536udc.c-fix-error-path.patch | 37 | ||||
| -rw-r--r-- | usb/usb-imx21-hcd-fix-off-by-one-resource-size-calculation.patch | 1 | ||||
| -rw-r--r-- | usb/usb-mct_u232-fix-broken-close.patch | 46 |
6 files changed, 142 insertions, 14 deletions
@@ -118,6 +118,7 @@ tty/serial-mfd-add-more-baud-rates-support.patch tty/serial-imx-check-that-the-buffer-is-non-empty-before-sending-it-out.patch tty/serial-abstraction-for-8250-legacy-ports.patch tty/serial-bfin_sport_uart-speed-up-sport-rx-sample-rate-to-be-3-faster.patch +tty/serial8250-ratelimit-too-much-work-error.patch ################################### # USB stuff for after 2.6.36 is out @@ -262,9 +263,10 @@ usb/mxc_udc-add-workaround-for-engcm09152-for-i.mx35.patch usb/usb-r8a66597-udc-add-processing-when-usb-was-removed.patch usb/usb-gadget-fix-kconfig-warning.patch usb/usb-imx21-hcd-fix-off-by-one-resource-size-calculation.patch +usb/usb-gadget-amd5536udc.c-fix-error-path.patch +usb/usb-mct_u232-fix-broken-close.patch # staging stuff for next is now in the staging-next tree on git.kernel.org - diff --git a/tty/serial8250-ratelimit-too-much-work-error.patch b/tty/serial8250-ratelimit-too-much-work-error.patch new file mode 100644 index 00000000000000..d9be8a8a92cb03 --- /dev/null +++ b/tty/serial8250-ratelimit-too-much-work-error.patch @@ -0,0 +1,50 @@ +From akpm@linux-foundation.org Thu Oct 21 11:39:41 2010 +Message-Id: <201010202300.o9KN0mrG009735@imap1.linux-foundation.org> +Subject: serial8250: ratelimit "too much work" error +To: greg@kroah.com +Cc: akpm@linux-foundation.org, dsd@laptop.org, alan@linux.intel.com +From: Daniel Drake <dsd@laptop.org> +Date: Wed, 20 Oct 2010 16:00:48 -0700 + +From: Daniel Drake <dsd@laptop.org> + +Running a serial console, if too many kernel messages are generated within +a short time causing a lot of serial I/O, the 8250 driver will generate +another kernel message reporting this, which just adds to the I/O. It has +a cascading effect and quickly results the system being brought to its knees +by a flood of "too much work" messages. + +Ratelimit the error message to avoid this. + +[akpm@linux-foundation.org: use the superior printk_ratelimited()] +[akpm@linux-foundation.org: printk_ratelimited() needs ratelimit.h] +Signed-off-by: Daniel Drake <dsd@laptop.org> +Acked-by: Alan Cox <alan@linux.intel.com> +Signed-off-by: Andrew Morton <akpm@linux-foundation.org> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/serial/8250.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +--- a/drivers/serial/8250.c ++++ b/drivers/serial/8250.c +@@ -31,6 +31,7 @@ + #include <linux/delay.h> + #include <linux/platform_device.h> + #include <linux/tty.h> ++#include <linux/ratelimit.h> + #include <linux/tty_flip.h> + #include <linux/serial_reg.h> + #include <linux/serial_core.h> +@@ -1600,8 +1601,8 @@ static irqreturn_t serial8250_interrupt( + + if (l == i->head && pass_counter++ > PASS_LIMIT) { + /* If we hit this, we're dead. */ +- printk(KERN_ERR "serial8250: too much work for " +- "irq%d\n", irq); ++ printk_ratelimited(KERN_ERR ++ "serial8250: too much work for irq%d\n", irq); + break; + } + } while (l != end); diff --git a/usb/usb-am35x-add-musb-support.patch b/usb/usb-am35x-add-musb-support.patch index 88b3b97e09a115..2f5016d735c683 100644 --- a/usb/usb-am35x-add-musb-support.patch +++ b/usb/usb-am35x-add-musb-support.patch @@ -19,22 +19,14 @@ Signed-off-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- - arch/arm/mach-omap2/board-am3517evm.c | 31 +++++++++++++++++++++++++++++++ + arch/arm/mach-omap2/board-am3517evm.c | 30 ++++++++++++++++++++++++++++++ arch/arm/mach-omap2/usb-musb.c | 4 ++++ arch/arm/plat-omap/include/plat/usb.h | 21 +++++++++++++++++++++ - 3 files changed, 56 insertions(+) + 3 files changed, 55 insertions(+) --- a/arch/arm/mach-omap2/board-am3517evm.c +++ b/arch/arm/mach-omap2/board-am3517evm.c -@@ -35,6 +35,7 @@ - #include <plat/control.h> - #include <plat/usb.h> - #include <plat/display.h> -+#include <plat/control.h> - - #include "mux.h" - -@@ -375,6 +376,31 @@ static void __init am3517_evm_init_irq(v +@@ -375,6 +375,31 @@ static void __init am3517_evm_init_irq(v omap_gpio_init(); } @@ -66,7 +58,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, #if defined(CONFIG_PANEL_SHARP_LQ043T1DG01) || \ -@@ -393,6 +419,8 @@ static const struct ehci_hcd_omap_platfo +@@ -393,6 +418,8 @@ static const struct ehci_hcd_omap_platfo #ifdef CONFIG_OMAP_MUX static struct omap_board_mux board_mux[] __initdata = { @@ -75,7 +67,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> { .reg_offset = OMAP_MUX_TERMINATOR }, }; #else -@@ -459,6 +487,9 @@ static void __init am3517_evm_init(void) +@@ -459,6 +486,9 @@ static void __init am3517_evm_init(void) ARRAY_SIZE(am3517evm_i2c1_boardinfo)); /*Ethernet*/ am3517_evm_ethernet_init(&am3517_evm_emac_pdata); diff --git a/usb/usb-gadget-amd5536udc.c-fix-error-path.patch b/usb/usb-gadget-amd5536udc.c-fix-error-path.patch new file mode 100644 index 00000000000000..ac45c810f9fe08 --- /dev/null +++ b/usb/usb-gadget-amd5536udc.c-fix-error-path.patch @@ -0,0 +1,37 @@ +From akpm@linux-foundation.org Thu Oct 21 11:39:13 2010 +Message-Id: <201010202301.o9KN1pnO009775@imap1.linux-foundation.org> +Subject: USB: gadget: amd5536udc.c: fix error path +To: greg@kroah.com +Cc: linux-usb@vger.kernel.org, akpm@linux-foundation.org, + rahul.ruikar@gmail.com, dahlmann.thomas@arcor.de, david-b@pacbell.net +From: Rahul Ruikar <rahul.ruikar@gmail.com> +Date: Wed, 20 Oct 2010 16:01:51 -0700 + +From: Rahul Ruikar <rahul.ruikar@gmail.com> + +In function udc_probe() call put_device() when device_register() fails. + +Signed-off-by: Rahul Ruikar <rahul.ruikar@gmail.com> +Acked-by: Thomas Dahlmann <dahlmann.thomas@arcor.de> +Cc: David Brownell <david-b@pacbell.net> +Signed-off-by: Andrew Morton <akpm@linux-foundation.org> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/usb/gadget/amd5536udc.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +--- a/drivers/usb/gadget/amd5536udc.c ++++ b/drivers/usb/gadget/amd5536udc.c +@@ -3383,8 +3383,10 @@ static int udc_probe(struct udc *dev) + udc = dev; + + retval = device_register(&dev->gadget.dev); +- if (retval) ++ if (retval) { ++ put_device(&dev->gadget.dev); + goto finished; ++ } + + /* timer init */ + init_timer(&udc_timer); diff --git a/usb/usb-imx21-hcd-fix-off-by-one-resource-size-calculation.patch b/usb/usb-imx21-hcd-fix-off-by-one-resource-size-calculation.patch index 6f30326f265fd3..2a633c9e323840 100644 --- a/usb/usb-imx21-hcd-fix-off-by-one-resource-size-calculation.patch +++ b/usb/usb-imx21-hcd-fix-off-by-one-resource-size-calculation.patch @@ -7,6 +7,7 @@ Date: Sat, 16 Oct 2010 22:48:08 +0800 Message-ID: <1287240488.2831.1.camel@phoenix> Signed-off-by: Axel Lin <axel.lin@gmail.com> +Tested-by: Jon Povey <Jon.Povey@racelogic.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- diff --git a/usb/usb-mct_u232-fix-broken-close.patch b/usb/usb-mct_u232-fix-broken-close.patch new file mode 100644 index 00000000000000..b9dce9edcf9256 --- /dev/null +++ b/usb/usb-mct_u232-fix-broken-close.patch @@ -0,0 +1,46 @@ +From linux-usb-owner@vger.kernel.org Thu Oct 21 11:35:50 2010 +Date: Thu, 21 Oct 2010 10:49:10 +0200 +Message-ID: <AANLkTikZZG+E0fCqHmeEdc-3uy1=U6MEeN+oX=V2WsTe@mail.gmail.com> +Subject: [PATCH] USB: mct_u232: fix broken close +From: Johan Hovold <jhovold@gmail.com> +To: Eric Shattow Eprecocious <lucent@gmail.com>, + Greg KH <greg@kroah.com> +Cc: linux-usb@vger.kernel.org + +From: Johan Hovold <jhovold@gmail.com> + +Fix regression introduced by commit +f26788da3b342099d2b02d99ba1cb7f154d6ef7b (USB: serial: refactor generic +close) which broke driver close(). + +This driver uses non-standard semantics for the read urb which makes the +generic close function fail to kill it (the read urb is actually an +interrupt urb and therefore bulk_in size is zero). + +Reported-by: Eric Shattow "Eprecocious" <lucent@gmail.com> +Tested-by: Eric Shattow "Eprecocious" <lucent@gmail.com> +Cc: stable <stable@kernel.org> +Signed-off-by: Johan Hovold <jhovold@gmail.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/usb/serial/mct_u232.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +--- a/drivers/usb/serial/mct_u232.c ++++ b/drivers/usb/serial/mct_u232.c +@@ -549,9 +549,12 @@ static void mct_u232_close(struct usb_se + { + dbg("%s port %d", __func__, port->number); + +- usb_serial_generic_close(port); +- if (port->serial->dev) ++ if (port->serial->dev) { ++ /* shutdown our urbs */ ++ usb_kill_urb(port->write_urb); ++ usb_kill_urb(port->read_urb); + usb_kill_urb(port->interrupt_in_urb); ++ } + } /* mct_u232_close */ + + |
