aboutsummaryrefslogtreecommitdiffstats
diff options
-rw-r--r--driver-core.current/fix-setattr-error-handling-in-sysfs-configfs.patch66
-rw-r--r--series14
-rw-r--r--staging.current/staging-comedi-correct-parameter-gainlkup-for-daqcard-6024e-in-driver-ni_mio_cs.c.patch33
-rw-r--r--staging.current/staging-comedi-fixing-ni_labpc-to-mite-dependancy.patch30
-rw-r--r--staging.current/staging-eliminate-a-null-pointer-dereference.patch66
-rw-r--r--staging.current/staging-phison-depends-on-ata_bmdma.patch36
-rw-r--r--staging.current/staging-use-gfp_atomic-when-a-lock-is-held.patch90
-rw-r--r--staging.current/staging-wlags49_h2-wlags49_h25-fixed-kconfig-dependencies.patch61
-rw-r--r--tty.current/serial-altera_uart-proper-section-for-altera_uart_remove.patch29
-rw-r--r--usb.current/usb-cdc-acm-fix-resource-reclaim-in-error-path-of-acm_probe.patch69
-rw-r--r--usb.current/usb-fix-ehci_hcd-build-failure-when-both-generic-of-and-xilinx-is-selected.patch73
-rw-r--r--usb.current/usb-ftdi_sio-fix-dtr-rts-line-modes.patch49
-rw-r--r--usb.current/usb-serial-digi_acceleport-eliminate-a-null-pointer-dereference.patch53
13 files changed, 668 insertions, 1 deletions
diff --git a/driver-core.current/fix-setattr-error-handling-in-sysfs-configfs.patch b/driver-core.current/fix-setattr-error-handling-in-sysfs-configfs.patch
new file mode 100644
index 00000000000000..4a73ce643539ac
--- /dev/null
+++ b/driver-core.current/fix-setattr-error-handling-in-sysfs-configfs.patch
@@ -0,0 +1,66 @@
+From npiggin@suse.de Thu Jun 3 10:42:47 2010
+From: Nick Piggin <npiggin@suse.de>
+Date: Mon, 31 May 2010 17:58:02 +1000
+Subject: fix setattr error handling in sysfs, configfs
+To: linux-fsdevel@vger.kernel.org, Greg Kroah-Hartman <gregkh@suse.de>, Joel Becker <joel.becker@oracle.com>
+Message-ID: <20100531075802.GD9453@laptop>
+Content-Disposition: inline
+
+
+sysfs and configfs setattr functions have error cases after the generic inode's
+attributes have been changed. Fix consistency by changing the generic inode
+attributes only when it is guaranteed to succeed.
+
+Signed-off-by: Nick Piggin <npiggin@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ fs/configfs/inode.c | 9 ++++-----
+ fs/sysfs/inode.c | 6 ++++--
+ 2 files changed, 8 insertions(+), 7 deletions(-)
+
+--- a/fs/configfs/inode.c
++++ b/fs/configfs/inode.c
+@@ -72,10 +72,6 @@ int configfs_setattr(struct dentry * den
+ if (!sd)
+ return -EINVAL;
+
+- error = simple_setattr(dentry, iattr);
+- if (error)
+- return error;
+-
+ sd_iattr = sd->s_iattr;
+ if (!sd_iattr) {
+ /* setting attributes for the first time, allocate now */
+@@ -89,9 +85,12 @@ int configfs_setattr(struct dentry * den
+ sd_iattr->ia_atime = sd_iattr->ia_mtime = sd_iattr->ia_ctime = CURRENT_TIME;
+ sd->s_iattr = sd_iattr;
+ }
+-
+ /* attributes were changed atleast once in past */
+
++ error = simple_setattr(dentry, iattr);
++ if (error)
++ return error;
++
+ if (ia_valid & ATTR_UID)
+ sd_iattr->ia_uid = iattr->ia_uid;
+ if (ia_valid & ATTR_GID)
+--- a/fs/sysfs/inode.c
++++ b/fs/sysfs/inode.c
+@@ -117,11 +117,13 @@ int sysfs_setattr(struct dentry *dentry,
+ if (error)
+ goto out;
+
++ error = sysfs_sd_setattr(sd, iattr);
++ if (error)
++ goto out;
++
+ /* this ignores size changes */
+ generic_setattr(inode, iattr);
+
+- error = sysfs_sd_setattr(sd, iattr);
+-
+ out:
+ mutex_unlock(&sysfs_mutex);
+ return error;
diff --git a/series b/series
index 2872041982fc8f..59176b5df48a09 100644
--- a/series
+++ b/series
@@ -10,6 +10,7 @@ gregkh/gkh-version.patch
#################################
driver-core.current/lib-kobject_uevent.c-fix-conig_net-n-warning.patch
driver-core.current/kobject-free-memory-if-netlink_kernel_create-fails.patch
+driver-core.current/fix-setattr-error-handling-in-sysfs-configfs.patch
#################################
# TTY patches for 2.6.35
@@ -22,6 +23,7 @@ tty.current/tty-n_gsm-potential-double-lock.patch
tty.current/altera_uart-don-t-take-spinlock-in-already-protected-functions.patch
tty.current/altera_uart-simplify-altera_uart_console_putc.patch
tty.current/tty-fix-a-little-bug-in-scrup-vt.c.patch
+tty.current/serial-altera_uart-proper-section-for-altera_uart_remove.patch
#################################
# USB patches for 2.6.35
@@ -36,6 +38,11 @@ usb.current/usb-s3c_hsotg-define-usb_gadget_dualspeed-in-kconfig.patch
usb.current/usb-s3c-hsotg-ensure-tx-fifo-addresses-setup-when-initialising-fifos.patch
usb.current/usb-s3c-hsotg-softdisconnect-minimum-3ms.patch
usb.current/usb-s3c-hsotg-ensure-fifos-are-fully-flushed-after-layout.patch
+usb.current/usb-ftdi_sio-fix-dtr-rts-line-modes.patch
+usb.current/usb-cdc-acm-fix-resource-reclaim-in-error-path-of-acm_probe.patch
+usb.current/usb-fix-ehci_hcd-build-failure-when-both-generic-of-and-xilinx-is-selected.patch
+usb.current/usb-serial-digi_acceleport-eliminate-a-null-pointer-dereference.patch
+
#################################
# Staging patches for 2.6.35
@@ -59,6 +66,12 @@ staging.current/staging-batman-adv-don-t-allocate-icmp-packet-with-gfp_kernel.pa
staging.current/staging-adis16255-fix-typo-in-kconfig.patch
staging.current/staging-adis16255-add-proper-section-markings-to-hotplug-funcs.patch
staging.current/staging-iio-utils-fix-memory-overflow-for-dynamically-allocateded-memory-to-hold-filename.patch
+staging.current/staging-phison-depends-on-ata_bmdma.patch
+staging.current/staging-wlags49_h2-wlags49_h25-fixed-kconfig-dependencies.patch
+staging.current/staging-comedi-fixing-ni_labpc-to-mite-dependancy.patch
+staging.current/staging-comedi-correct-parameter-gainlkup-for-daqcard-6024e-in-driver-ni_mio_cs.c.patch
+staging.current/staging-use-gfp_atomic-when-a-lock-is-held.patch
+staging.current/staging-eliminate-a-null-pointer-dereference.patch
#####################################################################
@@ -81,4 +94,3 @@ staging.current/staging-iio-utils-fix-memory-overflow-for-dynamically-allocatede
# staging stuff is now in the staging-next tree on git.kernel.org
-
diff --git a/staging.current/staging-comedi-correct-parameter-gainlkup-for-daqcard-6024e-in-driver-ni_mio_cs.c.patch b/staging.current/staging-comedi-correct-parameter-gainlkup-for-daqcard-6024e-in-driver-ni_mio_cs.c.patch
new file mode 100644
index 00000000000000..6051d9a11b2d0e
--- /dev/null
+++ b/staging.current/staging-comedi-correct-parameter-gainlkup-for-daqcard-6024e-in-driver-ni_mio_cs.c.patch
@@ -0,0 +1,33 @@
+From homuth-rosemann@cryptomys.de Thu Jun 3 10:37:32 2010
+From: Martin Homuth-Rosemann <homuth-rosemann@cryptomys.de>
+Date: Mon, 31 May 2010 22:33:04 +0200
+Subject: Staging: comedi - correct parameter gainlkup for DAQCard-6024E in driver ni_mio_cs.c
+To: Greg Kroah-Hartman <gregkh@suse.de>
+Cc: linux-kernel@vger.kernel.org
+Message-ID: <4C041D00.6070708@cryptomys.de>
+
+From: Martin Homuth-Rosemann <homuth-rosemann@gmx.net>
+
+Correct at least one of the incorrect specs for a national instrument
+data acquisition card DAQCard-6024E. This card has only four different
+gain settings (+-10V, +-5V, +-0.5V, +-0.05V).
+
+Signed-off-by: Martin Homuth-Rosemann <homuth-rosemann@gmx.net>
+Cc: stable <stable@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/staging/comedi/drivers/ni_mio_cs.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/staging/comedi/drivers/ni_mio_cs.c
++++ b/drivers/staging/comedi/drivers/ni_mio_cs.c
+@@ -123,7 +123,7 @@ static const struct ni_board_struct ni_b
+ .adbits = 12,
+ .ai_fifo_depth = 1024,
+ .alwaysdither = 0,
+- .gainlkup = ai_gain_16,
++ .gainlkup = ai_gain_4,
+ .ai_speed = 5000,
+ .n_aochan = 2,
+ .aobits = 12,
diff --git a/staging.current/staging-comedi-fixing-ni_labpc-to-mite-dependancy.patch b/staging.current/staging-comedi-fixing-ni_labpc-to-mite-dependancy.patch
new file mode 100644
index 00000000000000..f025d10e2eb29c
--- /dev/null
+++ b/staging.current/staging-comedi-fixing-ni_labpc-to-mite-dependancy.patch
@@ -0,0 +1,30 @@
+From linux@blala.de Thu Jun 3 10:33:50 2010
+From: Alexander Kurz <linux@blala.de>
+Date: Thu, 3 Jun 2010 15:50:24 +0400 (MSD)
+Subject: Staging: comedi: fixing ni_labpc to mite dependancy
+To: Randy Dunlap <randy.dunlap@oracle.com>
+Cc: Stephen Rothwell <sfr@canb.auug.org.au>, Alexander Kurz <linux@kbdbabel.org>, linux-next@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>, gregkh@suse.de
+Message-ID: <alpine.DEB.1.10.1006031545010.23736@blala.de>
+
+
+the dependancy of ni_labpc on mite was missing,
+
+Signed-off-by: Alexander Kurz <linux@kbdbabel.org>
+Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+index 0aa2b0d..79f5f2e 100644
+---
+ drivers/staging/comedi/Kconfig | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/staging/comedi/Kconfig
++++ b/drivers/staging/comedi/Kconfig
+@@ -1281,6 +1281,7 @@ config COMEDI_NI_TIO
+
+ config COMEDI_NI_LABPC
+ tristate "NI Lab-PC and compatibles ISA and PCI support"
++ depends on COMEDI_MITE
+ select COMEDI_8255
+ select COMEDI_FC
+ default N
diff --git a/staging.current/staging-eliminate-a-null-pointer-dereference.patch b/staging.current/staging-eliminate-a-null-pointer-dereference.patch
new file mode 100644
index 00000000000000..c8294cbdc6029b
--- /dev/null
+++ b/staging.current/staging-eliminate-a-null-pointer-dereference.patch
@@ -0,0 +1,66 @@
+From julia@diku.dk Thu Jun 3 10:50:26 2010
+From: Julia Lawall <julia@diku.dk>
+Date: Thu, 27 May 2010 14:37:19 +0200 (CEST)
+Subject: Staging: Eliminate a NULL pointer dereference
+To: Greg Kroah-Hartman <gregkh@suse.de>, devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org
+Message-ID: <Pine.LNX.4.64.1005271437010.5422@ask.diku.dk>
+
+
+From: Julia Lawall <julia@diku.dk>
+
+Eliminate a NULL or near NULL pointer dereference.
+
+A simplified version of the semantic match that finds this problem is as
+follows: (http://coccinelle.lip6.fr/)
+
+// <smpl>
+@r exists@
+expression E,E1;
+identifier f;
+statement S1,S2,S3;
+@@
+
+if ((E == NULL && ...) || ...)
+{
+ ... when != if (...) S1 else S2
+ when != E = E1
+* E->f
+ ... when any
+ return ...;
+}
+else S3
+// </smpl>
+
+Signed-off-by: Julia Lawall <julia@diku.dk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/staging/comedi/drivers/usbdux.c | 3 +--
+ drivers/staging/dt3155/allocator.c | 4 +---
+ 2 files changed, 2 insertions(+), 5 deletions(-)
+
+--- a/drivers/staging/comedi/drivers/usbdux.c
++++ b/drivers/staging/comedi/drivers/usbdux.c
+@@ -351,8 +351,7 @@ static int usbdux_ai_stop(struct usbduxs
+ int ret = 0;
+
+ if (!this_usbduxsub) {
+- dev_err(&this_usbduxsub->interface->dev,
+- "comedi?: usbdux_ai_stop: this_usbduxsub=NULL!\n");
++ pr_err("comedi?: usbdux_ai_stop: this_usbduxsub=NULL!\n");
+ return -EFAULT;
+ }
+ dev_dbg(&this_usbduxsub->interface->dev, "comedi: usbdux_ai_stop\n");
+--- a/drivers/staging/dt3155/allocator.c
++++ b/drivers/staging/dt3155/allocator.c
+@@ -176,9 +176,7 @@ int allocator_free_dma(unsigned long add
+ prev = ptr; ptr = ptr->next;
+
+ if (!ptr) {
+- printk(KERN_ERR ALL_MSG
+- "free_dma(0x%08lx) but add. not allocated\n",
+- ptr->address);
++ pr_err(ALL_MSG "free_dma but add. not allocated\n");
+ return -EINVAL;
+ }
+ PDEBUGG("freeing: %08lx (%li) next %08lx\n", ptr->address, ptr->size,
diff --git a/staging.current/staging-phison-depends-on-ata_bmdma.patch b/staging.current/staging-phison-depends-on-ata_bmdma.patch
new file mode 100644
index 00000000000000..64ddad524eff27
--- /dev/null
+++ b/staging.current/staging-phison-depends-on-ata_bmdma.patch
@@ -0,0 +1,36 @@
+From randy.dunlap@oracle.com Tue Jun 1 14:14:50 2010
+From: Randy Dunlap <randy.dunlap@oracle.com>
+Date: Wed, 26 May 2010 10:30:02 -0700
+Subject: Staging: phison: depends on ATA_BMDMA
+To: Stephen Rothwell <sfr@canb.auug.org.au>, gregkh@suse.de
+Cc: linux-next@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>, evan_ko@phison.com
+Message-ID: <20100526103002.ac2c6703.randy.dunlap@oracle.com>
+
+
+From: Randy Dunlap <randy.dunlap@oracle.com>
+
+phison uses interfaces and data that are built only when
+ATA_BMDMA is enabled, so it should depend on that symbol.
+
+drivers/staging/phison/phison.c:43: error: implicit declaration of function 'ATA_BMDMA_SHT'
+drivers/staging/phison/phison.c:43: error: initializer element is not constant
+drivers/staging/phison/phison.c:43: error: (near initialization for 'phison_sht.module')
+drivers/staging/phison/phison.c:47: error: 'ata_bmdma_port_ops' undeclared here (not in a function)
+
+Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
+Cc: evan_ko@phison.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/staging/phison/Kconfig | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/staging/phison/Kconfig
++++ b/drivers/staging/phison/Kconfig
+@@ -1,5 +1,5 @@
+ config IDE_PHISON
+ tristate "PCIE ATA PS5000 IDE support"
+- depends on PCI && ATA && ATA_SFF
++ depends on PCI && ATA && ATA_SFF && ATA_BMDMA
+ ---help---
+ This is an experimental driver for PS5000 IDE driver.
diff --git a/staging.current/staging-use-gfp_atomic-when-a-lock-is-held.patch b/staging.current/staging-use-gfp_atomic-when-a-lock-is-held.patch
new file mode 100644
index 00000000000000..4df408e26614d7
--- /dev/null
+++ b/staging.current/staging-use-gfp_atomic-when-a-lock-is-held.patch
@@ -0,0 +1,90 @@
+From julia@diku.dk Thu Jun 3 10:43:48 2010
+From: Julia Lawall <julia@diku.dk>
+Date: Sun, 30 May 2010 22:27:46 +0200 (CEST)
+Subject: staging: Use GFP_ATOMIC when a lock is held
+To: Greg Kroah-Hartman <gregkh@suse.de>, devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org
+Message-ID: <Pine.LNX.4.64.1005302227290.19253@ask.diku.dk>
+
+
+From: Julia Lawall <julia@diku.dk>
+
+In each case, the containing function is only called from one place, where
+a spin lock is held.
+
+The semantic patch that makes this change is as follows:
+(http://coccinelle.lip6.fr/)
+
+// <smpl>
+@gfp exists@
+identifier fn;
+position p;
+@@
+
+fn(...) {
+... when != spin_unlock
+ when any
+ GFP_KERNEL@p
+ ... when any
+}
+
+@locked@
+identifier gfp.fn;
+@@
+
+spin_lock(...)
+... when != spin_unlock
+fn(...)
+
+@depends on locked@
+position gfp.p;
+@@
+
+- GFP_KERNEL@p
++ GFP_ATOMIC
+// </smpl>
+
+Signed-off-by: Julia Lawall <julia@diku.dk>
+Cc: Jonathan Cameron <jic23@cam.ac.uk>
+Cc: Marek Lindner <lindner_marek@yahoo.de>
+Cc: Martyn Welch <martyn.welch@ge.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/staging/iio/ring_sw.c | 2 +-
+ drivers/staging/vme/bridges/vme_ca91cx42.c | 2 +-
+ drivers/staging/vme/bridges/vme_tsi148.c | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+--- a/drivers/staging/iio/ring_sw.c
++++ b/drivers/staging/iio/ring_sw.c
+@@ -20,7 +20,7 @@ static inline int __iio_allocate_sw_ring
+ if ((length == 0) || (bytes_per_datum == 0))
+ return -EINVAL;
+ __iio_update_ring_buffer(&ring->buf, bytes_per_datum, length);
+- ring->data = kmalloc(length*ring->buf.bpd, GFP_KERNEL);
++ ring->data = kmalloc(length*ring->buf.bpd, GFP_ATOMIC);
+ ring->read_p = NULL;
+ ring->write_p = NULL;
+ ring->last_written_p = NULL;
+--- a/drivers/staging/vme/bridges/vme_ca91cx42.c
++++ b/drivers/staging/vme/bridges/vme_ca91cx42.c
+@@ -523,7 +523,7 @@ static int ca91cx42_alloc_resource(struc
+ }
+
+ if (image->bus_resource.name == NULL) {
+- image->bus_resource.name = kmalloc(VMENAMSIZ+3, GFP_KERNEL);
++ image->bus_resource.name = kmalloc(VMENAMSIZ+3, GFP_ATOMIC);
+ if (image->bus_resource.name == NULL) {
+ dev_err(ca91cx42_bridge->parent, "Unable to allocate "
+ "memory for resource name\n");
+--- a/drivers/staging/vme/bridges/vme_tsi148.c
++++ b/drivers/staging/vme/bridges/vme_tsi148.c
+@@ -828,7 +828,7 @@ static int tsi148_alloc_resource(struct
+ return 0;
+
+ if (image->bus_resource.name == NULL) {
+- image->bus_resource.name = kmalloc(VMENAMSIZ+3, GFP_KERNEL);
++ image->bus_resource.name = kmalloc(VMENAMSIZ+3, GFP_ATOMIC);
+ if (image->bus_resource.name == NULL) {
+ dev_err(tsi148_bridge->parent, "Unable to allocate "
+ "memory for resource name\n");
diff --git a/staging.current/staging-wlags49_h2-wlags49_h25-fixed-kconfig-dependencies.patch b/staging.current/staging-wlags49_h2-wlags49_h25-fixed-kconfig-dependencies.patch
new file mode 100644
index 00000000000000..de8b43fbd543fe
--- /dev/null
+++ b/staging.current/staging-wlags49_h2-wlags49_h25-fixed-kconfig-dependencies.patch
@@ -0,0 +1,61 @@
+From henk.de.groot@hetnet.nl Thu Jun 3 10:33:12 2010
+From: Henk de Groot <henk.de.groot@hetnet.nl>
+Date: Wed, 02 Jun 2010 21:30:00 +0200
+Subject: Staging: wlags49_h2, wlags49_h25: fixed Kconfig dependencies
+To: Greg Kroah-Hartman <gregkh@suse.de>
+Message-ID: <4C06B138.2050608@hetnet.nl>
+
+Fixes Kconfig so the wlags49_h2 and wlags49_h25 drivers can be
+selected from menuconfig without having to select another WLAN
+driver first. Before it could only be selected when another driver
+already selected WIRELESS_EXT. Also adds WEXT_PRIV on which
+the driver also depends.
+
+Align help text in Kconfig.
+
+Signed-off-by: Henk de Groot <pe1dnn@amsat.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/staging/wlags49_h2/Kconfig | 12 +++++++-----
+ drivers/staging/wlags49_h25/Kconfig | 12 +++++++-----
+ 2 files changed, 14 insertions(+), 10 deletions(-)
+
+--- a/drivers/staging/wlags49_h2/Kconfig
++++ b/drivers/staging/wlags49_h2/Kconfig
+@@ -1,9 +1,11 @@
+ config WLAGS49_H2
+ tristate "Agere Systems HERMES II Wireless PC Card Model 0110"
+- depends on WLAN && WIRELESS_EXT && PCMCIA
++ depends on WLAN && PCMCIA
++ select WIRELESS_EXT
+ select WEXT_SPY
++ select WEXT_PRIV
+ ---help---
+- Driver for wireless cards using Agere's HERMES II chipset
+- which are identified with Manufacture ID: 0156,0003
+- The software is a modified version of wl_lkm_722_abg.tar.gz
+- from the Agere Systems website, addapted for Ubuntu 9.04.
++ Driver for wireless cards using Agere's HERMES II chipset
++ which are identified with Manufacture ID: 0156,0003
++ The software is a modified version of wl_lkm_722_abg.tar.gz
++ from the Agere Systems website, addapted for Ubuntu 9.04.
+--- a/drivers/staging/wlags49_h25/Kconfig
++++ b/drivers/staging/wlags49_h25/Kconfig
+@@ -1,9 +1,11 @@
+ config WLAGS49_H25
+ tristate "Linksys HERMES II.5 WCF54G_Wireless-G_CompactFlash_Card"
+- depends on WLAN && WIRELESS_EXT && PCMCIA
++ depends on WLAN && PCMCIA
++ select WIRELESS_EXT
+ select WEXT_SPY
++ select WEXT_PRIV
+ ---help---
+- Driver for wireless cards using Agere's HERMES II.5 chipset
+- which are identified with Manufacture ID: 0156,0004
+- The software is a modified version of wl_lkm_722_abg.tar.gz
+- from the Agere Systems website, addapted for Ubuntu 9.04.
++ Driver for wireless cards using Agere's HERMES II.5 chipset
++ which are identified with Manufacture ID: 0156,0004
++ The software is a modified version of wl_lkm_722_abg.tar.gz
++ from the Agere Systems website, addapted for Ubuntu 9.04.
diff --git a/tty.current/serial-altera_uart-proper-section-for-altera_uart_remove.patch b/tty.current/serial-altera_uart-proper-section-for-altera_uart_remove.patch
new file mode 100644
index 00000000000000..707931f45f31eb
--- /dev/null
+++ b/tty.current/serial-altera_uart-proper-section-for-altera_uart_remove.patch
@@ -0,0 +1,29 @@
+From tklauser@distanz.ch Thu Jun 3 10:40:08 2010
+From: Tobias Klauser <tklauser@distanz.ch>
+Date: Mon, 31 May 2010 15:01:08 +0200
+Subject: serial: altera_uart: Proper section for altera_uart_remove
+To: gregkh@suse.de, linux-kernel@vger.kernel.org
+Cc: alan@lxorguk.ukuu.org.uk, akpm@linux-foundation.org, Tobias Klauser <tklauser@distanz.ch>
+Message-ID: <1275310868-21071-1-git-send-email-tklauser@distanz.ch>
+
+
+altera_uart_remove should be in .devexit.text
+
+Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/serial/altera_uart.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/serial/altera_uart.c
++++ b/drivers/serial/altera_uart.c
+@@ -498,7 +498,7 @@ static int __devinit altera_uart_probe(s
+ return 0;
+ }
+
+-static int altera_uart_remove(struct platform_device *pdev)
++static int __devexit altera_uart_remove(struct platform_device *pdev)
+ {
+ struct uart_port *port;
+ int i;
diff --git a/usb.current/usb-cdc-acm-fix-resource-reclaim-in-error-path-of-acm_probe.patch b/usb.current/usb-cdc-acm-fix-resource-reclaim-in-error-path-of-acm_probe.patch
new file mode 100644
index 00000000000000..982c4f56e0163b
--- /dev/null
+++ b/usb.current/usb-cdc-acm-fix-resource-reclaim-in-error-path-of-acm_probe.patch
@@ -0,0 +1,69 @@
+From axel.lin@gmail.com Thu Jun 3 10:31:15 2010
+From: Axel Lin <axel.lin@gmail.com>
+Date: Mon, 31 May 2010 08:04:47 +0800
+Subject: USB: cdc-acm: fix resource reclaim in error path of acm_probe
+Cc: Oliver Neukum <oliver@neukum.name>, Greg Kroah-Hartman <gregkh@suse.de>, Alan Cox <alan@linux.intel.com>, Francesco Lavra <francescolavra@interfree.it>, Julian Calaby <julian.calaby@gmail.com>
+Message-ID: <1275264287.20355.2.camel@mola>
+
+
+This patch fixes resource reclaim in error path of acm_probe:
+
+1. In the case of "out of memory (read urbs usb_alloc_urb)\n")", there
+ is no need to call acm_read_buffers_free(acm) here. Fix it by goto
+ alloc_fail6 instead of alloc_fail7.
+2. In the case of "out of memory (write urbs usb_alloc_urb)",
+ usb_alloc_urb may fail in any iteration of the for loop. Current
+ implementation does not properly free allocated snd->urb. Fix it by
+ goto alloc_fail8 instead of alloc_fail7.
+3. In the case of device_create_file(&intf->dev,&dev_attr_iCountryCodeRelDate)
+ fail, acm->country_codes is kfreed. As a result, device_remove_file
+ for dev_attr_wCountryCodes will not be executed in acm_disconnect.
+ Fix it by calling device_remove_file for dev_attr_wCountryCodes
+ before goto skip_countries.
+
+Signed-off-by: Axel Lin <axel.lin@gmail.com>
+Acked-by: Oliver Neukum <oneukum@suse.de>
+Cc: stable <stable@kernel.org>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/class/cdc-acm.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/drivers/usb/class/cdc-acm.c
++++ b/drivers/usb/class/cdc-acm.c
+@@ -1201,7 +1201,7 @@ made_compressed_probe:
+ if (rcv->urb == NULL) {
+ dev_dbg(&intf->dev,
+ "out of memory (read urbs usb_alloc_urb)\n");
+- goto alloc_fail7;
++ goto alloc_fail6;
+ }
+
+ rcv->urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
+@@ -1225,7 +1225,7 @@ made_compressed_probe:
+ if (snd->urb == NULL) {
+ dev_dbg(&intf->dev,
+ "out of memory (write urbs usb_alloc_urb)");
+- goto alloc_fail7;
++ goto alloc_fail8;
+ }
+
+ if (usb_endpoint_xfer_int(epwrite))
+@@ -1264,6 +1264,7 @@ made_compressed_probe:
+ i = device_create_file(&intf->dev,
+ &dev_attr_iCountryCodeRelDate);
+ if (i < 0) {
++ device_remove_file(&intf->dev, &dev_attr_wCountryCodes);
+ kfree(acm->country_codes);
+ goto skip_countries;
+ }
+@@ -1300,6 +1301,7 @@ alloc_fail8:
+ usb_free_urb(acm->wb[i].urb);
+ alloc_fail7:
+ acm_read_buffers_free(acm);
++alloc_fail6:
+ for (i = 0; i < num_rx_buf; i++)
+ usb_free_urb(acm->ru[i].urb);
+ usb_free_urb(acm->ctrlurb);
diff --git a/usb.current/usb-fix-ehci_hcd-build-failure-when-both-generic-of-and-xilinx-is-selected.patch b/usb.current/usb-fix-ehci_hcd-build-failure-when-both-generic-of-and-xilinx-is-selected.patch
new file mode 100644
index 00000000000000..1d217f747df8cd
--- /dev/null
+++ b/usb.current/usb-fix-ehci_hcd-build-failure-when-both-generic-of-and-xilinx-is-selected.patch
@@ -0,0 +1,73 @@
+From grant.likely@secretlab.ca Thu Jun 3 10:32:41 2010
+From: Grant Likely <grant.likely@secretlab.ca>
+Date: Wed, 02 Jun 2010 13:53:17 -0600
+Subject: usb: fix ehci_hcd build failure when both generic-OF and xilinx is selected
+Cc: Greg Kroah-Hartman <gregkh@suse.de>, Alan Stern <stern@rowland.harvard.edu>, John Linn <john.linn@xilinx.com>
+Message-ID: <20100602195213.26683.54599.stgit@angua>
+
+
+This patch fixes the driver to allow both CONFIG_USB_EHCI_HCD_PPC_OF and
+CONFIG_USB_ECHI_HCD_XILINX to be selected.
+
+Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
+CC: John Linn <john.linn@xilinx.com>
+CC: Alan Stern <stern@rowland.harvard.edu>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/host/ehci-hcd.c | 20 +++++++++++++++++---
+ 1 file changed, 17 insertions(+), 3 deletions(-)
+
+--- a/drivers/usb/host/ehci-hcd.c
++++ b/drivers/usb/host/ehci-hcd.c
+@@ -1135,7 +1135,7 @@ MODULE_LICENSE ("GPL");
+
+ #ifdef CONFIG_XPS_USB_HCD_XILINX
+ #include "ehci-xilinx-of.c"
+-#define OF_PLATFORM_DRIVER ehci_hcd_xilinx_of_driver
++#define XILINX_OF_PLATFORM_DRIVER ehci_hcd_xilinx_of_driver
+ #endif
+
+ #ifdef CONFIG_PLAT_ORION
+@@ -1159,7 +1159,8 @@ MODULE_LICENSE ("GPL");
+ #endif
+
+ #if !defined(PCI_DRIVER) && !defined(PLATFORM_DRIVER) && \
+- !defined(PS3_SYSTEM_BUS_DRIVER) && !defined(OF_PLATFORM_DRIVER)
++ !defined(PS3_SYSTEM_BUS_DRIVER) && !defined(OF_PLATFORM_DRIVER) && \
++ !defined(XILINX_OF_PLATFORM_DRIVER)
+ #error "missing bus glue for ehci-hcd"
+ #endif
+
+@@ -1213,10 +1214,20 @@ static int __init ehci_hcd_init(void)
+ if (retval < 0)
+ goto clean3;
+ #endif
++
++#ifdef XILINX_OF_PLATFORM_DRIVER
++ retval = of_register_platform_driver(&XILINX_OF_PLATFORM_DRIVER);
++ if (retval < 0)
++ goto clean4;
++#endif
+ return retval;
+
++#ifdef XILINX_OF_PLATFORM_DRIVER
++ /* of_unregister_platform_driver(&XILINX_OF_PLATFORM_DRIVER); */
++clean4:
++#endif
+ #ifdef OF_PLATFORM_DRIVER
+- /* of_unregister_platform_driver(&OF_PLATFORM_DRIVER); */
++ of_unregister_platform_driver(&OF_PLATFORM_DRIVER);
+ clean3:
+ #endif
+ #ifdef PS3_SYSTEM_BUS_DRIVER
+@@ -1243,6 +1254,9 @@ module_init(ehci_hcd_init);
+
+ static void __exit ehci_hcd_cleanup(void)
+ {
++#ifdef XILINX_OF_PLATFORM_DRIVER
++ of_unregister_platform_driver(&XILINX_OF_PLATFORM_DRIVER);
++#endif
+ #ifdef OF_PLATFORM_DRIVER
+ of_unregister_platform_driver(&OF_PLATFORM_DRIVER);
+ #endif
diff --git a/usb.current/usb-ftdi_sio-fix-dtr-rts-line-modes.patch b/usb.current/usb-ftdi_sio-fix-dtr-rts-line-modes.patch
new file mode 100644
index 00000000000000..a90df2c73de4e8
--- /dev/null
+++ b/usb.current/usb-ftdi_sio-fix-dtr-rts-line-modes.patch
@@ -0,0 +1,49 @@
+From daniel@caiaq.de Thu Jun 3 10:30:30 2010
+From: Daniel Mack <daniel@caiaq.de>
+Date: Thu, 3 Jun 2010 13:55:02 +0200
+Subject: USB: ftdi_sio: fix DTR/RTS line modes
+Cc: Daniel Mack <daniel@caiaq.de>, Greg Kroah-Hartman <gregkh@suse.de>, Johan Hovold <jhovold@gmail.com>, Alan Cox <alan@linux.intel.com>
+Message-ID: <1275566102-5613-1-git-send-email-daniel@caiaq.de>
+
+
+Call set_mctrl() and clear_mctrl() according to the flow control mode
+selected. This makes serial communication for FT232 connected devices
+work when CRTSCTS is not set.
+
+This fixes a regression introduced by 4175f3e31 ("tty_port: If we are
+opened non blocking we still need to raise the carrier"). This patch
+calls the low-level driver's dtr_rts() function which consequently sets
+TIOCM_DTR | TIOCM_RTS. A later call to set_termios() without CRTSCTS in
+cflags, however, does not reset these bits, and so data is not actually
+sent out on the serial wire.
+
+Signed-off-by: Daniel Mack <daniel@caiaq.de>
+Cc: Johan Hovold <jhovold@gmail.com>
+Cc: Alan Cox <alan@linux.intel.com>
+Cc: stable <stable@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/ftdi_sio.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/drivers/usb/serial/ftdi_sio.c
++++ b/drivers/usb/serial/ftdi_sio.c
+@@ -2005,6 +2005,8 @@ static void ftdi_set_termios(struct tty_
+ "urb failed to set to rts/cts flow control\n");
+ }
+
++ /* raise DTR/RTS */
++ set_mctrl(port, TIOCM_DTR | TIOCM_RTS);
+ } else {
+ /*
+ * Xon/Xoff code
+@@ -2052,6 +2054,8 @@ static void ftdi_set_termios(struct tty_
+ }
+ }
+
++ /* lower DTR/RTS */
++ clear_mctrl(port, TIOCM_DTR | TIOCM_RTS);
+ }
+ return;
+ }
diff --git a/usb.current/usb-serial-digi_acceleport-eliminate-a-null-pointer-dereference.patch b/usb.current/usb-serial-digi_acceleport-eliminate-a-null-pointer-dereference.patch
new file mode 100644
index 00000000000000..21f73148960d7c
--- /dev/null
+++ b/usb.current/usb-serial-digi_acceleport-eliminate-a-null-pointer-dereference.patch
@@ -0,0 +1,53 @@
+From julia@diku.dk Thu Jun 3 10:49:47 2010
+From: Julia Lawall <julia@diku.dk>
+Date: Thu, 27 May 2010 14:32:09 +0200 (CEST)
+Subject: USB: serial: digi_acceleport: Eliminate a NULL pointer dereference
+To: Peter Berger <pberger@brimson.com>, Al Borchers <alborchers@steinerpoint.com>, Greg Kroah-Hartman <gregkh@suse.de>, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org
+Message-ID: <Pine.LNX.4.64.1005271431530.5422@ask.diku.dk>
+
+
+From: Julia Lawall <julia@diku.dk>
+
+If port is NULL, then the call to dev_err will dereference a value that is
+a small offset from NULL.
+
+A simplified version of the semantic match that finds this problem is as
+follows: (http://coccinelle.lip6.fr/)
+
+// <smpl>
+@r exists@
+expression E,E1;
+identifier f;
+statement S1,S2,S3;
+@@
+
+if ((E == NULL && ...) || ...)
+{
+ ... when != if (...) S1 else S2
+ when != E = E1
+* E->f
+ ... when any
+ return ...;
+}
+else S3
+// </smpl>
+
+Signed-off-by: Julia Lawall <julia@diku.dk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/digi_acceleport.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+--- a/drivers/usb/serial/digi_acceleport.c
++++ b/drivers/usb/serial/digi_acceleport.c
+@@ -1239,8 +1239,7 @@ static void digi_write_bulk_callback(str
+
+ /* port and serial sanity check */
+ if (port == NULL || (priv = usb_get_serial_port_data(port)) == NULL) {
+- dev_err(&port->dev,
+- "%s: port or port->private is NULL, status=%d\n",
++ pr_err("%s: port or port->private is NULL, status=%d\n",
+ __func__, status);
+ return;
+ }