aboutsummaryrefslogtreecommitdiffstats
diff options
authorGreg Kroah-Hartman <gregkh@suse.de>2009-07-18 15:48:15 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2009-07-18 15:48:15 -0700
commit90f4032259a4088b1468f51e4d4618f50c37f868 (patch)
tree9d02cf1177956a951f8cad26920bec60220a998e
parent20830b91dc1ebcd38ad468e0a55771009ab2297f (diff)
downloadpatches-90f4032259a4088b1468f51e4d4618f50c37f868.tar.gz
minor bugfixes
-rw-r--r--driver-core.current/vc-fix-vcs-devices-for-consoles.patch48
-rw-r--r--series3
-rw-r--r--usb.current/usb-fix-usage-count-in-usb-serial-generic-open-regarding-autoresume.patch60
-rw-r--r--usb.current/usb-musb_gadget_ep0-fix-typo-in-service_zero_data_request.patch35
-rw-r--r--usb/usb-usb-serial-remove-unused-variables.patch4
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;
+ }
diff --git a/series b/series
index d5c2ff94e712f4..6bf9ca605bddb5 100644
--- a/series
+++ b/series
@@ -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);