diff options
| author | Greg Kroah-Hartman <gregkh@suse.de> | 2009-07-18 15:48:15 -0700 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-07-18 15:48:15 -0700 |
| commit | 90f4032259a4088b1468f51e4d4618f50c37f868 (patch) | |
| tree | 9d02cf1177956a951f8cad26920bec60220a998e | |
| parent | 20830b91dc1ebcd38ad468e0a55771009ab2297f (diff) | |
| download | patches-90f4032259a4088b1468f51e4d4618f50c37f868.tar.gz | |
minor bugfixes
5 files changed, 148 insertions, 2 deletions
diff --git a/driver-core.current/vc-fix-vcs-devices-for-consoles.patch b/driver-core.current/vc-fix-vcs-devices-for-consoles.patch new file mode 100644 index 00000000000000..c93388f61b4b07 --- /dev/null +++ b/driver-core.current/vc-fix-vcs-devices-for-consoles.patch @@ -0,0 +1,48 @@ +From kay.sievers@vrfy.org Sat Jul 18 15:43:32 2009 +From: Kay Sievers <kay.sievers@vrfy.org> +Date: Sat, 18 Jul 2009 17:34:17 +0200 +Subject: vc: fix vcs(a) devices for consoles +To: Greg KH <greg@kroah.com> +Cc: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> +Message-ID: <1247931257.29760.1.camel@yio.site> + + +From: Kay Sievers <kay.sievers@vrfy.org> + +The buffer for the consoles are unconditionally allocated at +con_init() time, which miss the creation of the vcs(a) devices. + +Since 2.6.30, these devices are no longer created at open() +and removed on close(), but controlled by the lifetime of the +buffers. + +Reported-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> +Tested-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> +Cc: stable <stable@kernel.org> +Cc: Samuel Thibault <samuel.thibault@ens-lyon.org> +Cc: Nicolas Pitre <nico@cam.org> +Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/char/vc_screen.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/drivers/char/vc_screen.c ++++ b/drivers/char/vc_screen.c +@@ -495,11 +495,15 @@ void vcs_remove_sysfs(int index) + + int __init vcs_init(void) + { ++ unsigned int i; ++ + if (register_chrdev(VCS_MAJOR, "vcs", &vcs_fops)) + panic("unable to get major %d for vcs device", VCS_MAJOR); + vc_class = class_create(THIS_MODULE, "vc"); + + device_create(vc_class, NULL, MKDEV(VCS_MAJOR, 0), NULL, "vcs"); + device_create(vc_class, NULL, MKDEV(VCS_MAJOR, 128), NULL, "vcsa"); ++ for (i = 0; i < MIN_NR_CONSOLES; i++) ++ vcs_make_sysfs(i); + return 0; + } @@ -13,6 +13,7 @@ gregkh/gkh-version.patch driver-core.current/sysfs-fix-hardlink-count-on-device_move.patch driver-core.current/driver-core-firmware_class-fix-memory-leak-of-page-pointers-array.patch driver-core.current/dynamic-debug-fix-typo.patch +driver-core.current/vc-fix-vcs-devices-for-consoles.patch ################################# # USB patches for 2.6.31 @@ -27,6 +28,8 @@ usb.current/usb-cp210x-add-new-device-ids.patch usb.current/usb-ehci-orion-call-ehci_reset-before-ehci_halt.patch usb.current/usb-option-add-zte-device-ids-and-remove-onda-ids.patch usb.current/usb-option-add-usb-id-for-novatel-mc727-u727-usb727-refresh.patch +usb.current/usb-fix-usage-count-in-usb-serial-generic-open-regarding-autoresume.patch +usb.current/usb-musb_gadget_ep0-fix-typo-in-service_zero_data_request.patch ##################################################################### diff --git a/usb.current/usb-fix-usage-count-in-usb-serial-generic-open-regarding-autoresume.patch b/usb.current/usb-fix-usage-count-in-usb-serial-generic-open-regarding-autoresume.patch new file mode 100644 index 00000000000000..71bff70ea2a4af --- /dev/null +++ b/usb.current/usb-fix-usage-count-in-usb-serial-generic-open-regarding-autoresume.patch @@ -0,0 +1,60 @@ +From oliver@neukum.org Sat Jul 18 15:45:44 2009 +From: Oliver Neukum <oliver@neukum.org> +Date: Sat, 18 Jul 2009 15:47:17 +0200 +Subject: USB: fix usage count in usb serial generic open regarding autoresume +To: Matthew Garrett <mjg59@srcf.ucam.org>, Greg KH <greg@kroah.com>, Alan Stern <stern@rowland.harvard.edu>, linux-usb@vger.kernel.org +Message-ID: <200907181547.17813.oliver@neukum.org> +Content-Disposition: inline + + +The resume handler has to resubmit the reading URBs if the device is +resumed while opened. But the open() method bumps the counter before +it resumes a device. The fix is to increment the counter only after +the resumption or if no resumption is attempted. + +Signed-off-by: Oliver Neukum <oliver@neukum.org> +Tested-by: Matthew Garrett <mjg@redhat.com> +Cc: stable <stable@kernel.org> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + + +--- + drivers/usb/serial/usb-serial.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +--- a/drivers/usb/serial/usb-serial.c ++++ b/drivers/usb/serial/usb-serial.c +@@ -214,15 +214,13 @@ static int serial_open (struct tty_struc + goto bailout_port_put; + } + +- ++port->port.count; +- + /* set up our port structure making the tty driver + * remember our port object, and us it */ + tty->driver_data = port; + tty_port_tty_set(&port->port, tty); + + /* If the console is attached, the device is already open */ +- if (port->port.count == 1 && !port->console) { ++ if (!port->port.count && !port->console) { + + /* lock this module before we call it + * this may fail, which means we must bail out, +@@ -240,12 +238,16 @@ static int serial_open (struct tty_struc + if (retval) + goto bailout_module_put; + ++ ++port->port.count; ++ + /* only call the device specific open if this + * is the first time the port is opened */ + retval = serial->type->open(tty, port, filp); + if (retval) + goto bailout_interface_put; + mutex_unlock(&serial->disc_mutex); ++ } else { ++ ++port->port.count; + } + mutex_unlock(&port->mutex); + /* Now do the correct tty layer semantics */ diff --git a/usb.current/usb-musb_gadget_ep0-fix-typo-in-service_zero_data_request.patch b/usb.current/usb-musb_gadget_ep0-fix-typo-in-service_zero_data_request.patch new file mode 100644 index 00000000000000..7c5a79110b96c2 --- /dev/null +++ b/usb.current/usb-musb_gadget_ep0-fix-typo-in-service_zero_data_request.patch @@ -0,0 +1,35 @@ +From sshtylyov@ru.mvista.com Sat Jul 18 15:46:20 2009 +From: Sergei Shtylyov <sshtylyov@ru.mvista.com> +Date: Fri, 17 Jul 2009 17:30:03 +0300 +Subject: USB: musb_gadget_ep0: fix typo in service_zero_data_request() +To: gregkh@suse.de, david-b@pacbell.net +Cc: linux-usb@vger.kernel.org, felipe.balbi@nokia.com +Message-ID: <200907171830.03495.sshtylyov@ru.mvista.com> +Content-Disposition: inline + + +This function uses wrong bit mask to prevent clearing RXCSR status +bits when halting an endpoint -- which results in clearing SentStall +and RxPktRdy bits (that the code actually tries to avoid); must be +a result of cut-and-paste... + +Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> +Acked-by: David Brownell <dbrownell@users.sourceforge.net> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + + +--- + drivers/usb/musb/musb_gadget_ep0.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/usb/musb/musb_gadget_ep0.c ++++ b/drivers/usb/musb/musb_gadget_ep0.c +@@ -407,7 +407,7 @@ stall: + csr |= MUSB_RXCSR_P_SENDSTALL + | MUSB_RXCSR_FLUSHFIFO + | MUSB_RXCSR_CLRDATATOG +- | MUSB_TXCSR_P_WZC_BITS; ++ | MUSB_RXCSR_P_WZC_BITS; + musb_writew(regs, MUSB_RXCSR, + csr); + } diff --git a/usb/usb-usb-serial-remove-unused-variables.patch b/usb/usb-usb-serial-remove-unused-variables.patch index 129164a6a2e8fb..02ed22a068babb 100644 --- a/usb/usb-usb-serial-remove-unused-variables.patch +++ b/usb/usb-usb-serial-remove-unused-variables.patch @@ -17,7 +17,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/usb/serial/usb-serial.c +++ b/drivers/usb/serial/usb-serial.c -@@ -282,8 +282,6 @@ bailout_serial_put: +@@ -284,8 +284,6 @@ bailout_serial_put: static void serial_do_down(struct usb_serial_port *port) { struct usb_serial_driver *drv = port->serial->type; @@ -26,7 +26,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> /* The console is magical, do not hang up the console hardware or there will be tears */ -@@ -291,12 +289,8 @@ static void serial_do_down(struct usb_se +@@ -293,12 +291,8 @@ static void serial_do_down(struct usb_se return; mutex_lock(&port->mutex); |
