diff options
| author | Greg Kroah-Hartman <gregkh@suse.de> | 2010-02-17 11:29:31 -0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-02-17 11:29:31 -0800 |
| commit | c9c6e48761eee7819ccba6c4be402b0762cbd4d4 (patch) | |
| tree | ed591e9acb46e2cfb20319dbaf10b489f0f19a14 /usb.current | |
| parent | b42e10eff567a927fc01ba715d0f9cd9dab4c2ed (diff) | |
| download | patches-c9c6e48761eee7819ccba6c4be402b0762cbd4d4.tar.gz | |
delete patches now in Linus's tree
Diffstat (limited to 'usb.current')
16 files changed, 0 insertions, 831 deletions
diff --git a/usb.current/kfifo-don-t-use-integer-as-null-pointer.patch b/usb.current/kfifo-don-t-use-integer-as-null-pointer.patch deleted file mode 100644 index c52bfca286194c..00000000000000 --- a/usb.current/kfifo-don-t-use-integer-as-null-pointer.patch +++ /dev/null @@ -1,47 +0,0 @@ -From avorontsov@ru.mvista.com Wed Jan 27 16:00:42 2010 -From: Anton Vorontsov <avorontsov@ru.mvista.com> -Date: Wed, 27 Jan 2010 17:09:38 +0300 -Subject: kfifo: Don't use integer as NULL pointer -To: Andrew Morton <akpm@linux-foundation.org> -Cc: Greg Kroah-Hartman <gregkh@suse.de>, Josh Boyer <jwboyer@gmail.com>, Stefani Seibold <stefani@seibold.net>, linuxppc-dev@ozlabs.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org -Message-ID: <20100127140938.GC31608@oksana.dev.rtsoft.ru> -Content-Disposition: inline - - -This patch fixes following sparse warnings: - -include/linux/kfifo.h:127:25: warning: Using plain integer as NULL pointer -kernel/kfifo.c:83:21: warning: Using plain integer as NULL pointer - -Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> -Acked-by: Stefani Seibold <stefani@seibold.net> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - - ---- - include/linux/kfifo.h | 2 +- - kernel/kfifo.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/include/linux/kfifo.h -+++ b/include/linux/kfifo.h -@@ -124,7 +124,7 @@ extern __must_check unsigned int kfifo_o - */ - static inline bool kfifo_initialized(struct kfifo *fifo) - { -- return fifo->buffer != 0; -+ return fifo->buffer != NULL; - } - - /** ---- a/kernel/kfifo.c -+++ b/kernel/kfifo.c -@@ -80,7 +80,7 @@ int kfifo_alloc(struct kfifo *fifo, unsi - - buffer = kmalloc(size, gfp_mask); - if (!buffer) { -- _kfifo_init(fifo, 0, 0); -+ _kfifo_init(fifo, NULL, 0); - return -ENOMEM; - } - diff --git a/usb.current/kfifo-make-kfifo_initialized-work-after-kfifo_free.patch b/usb.current/kfifo-make-kfifo_initialized-work-after-kfifo_free.patch deleted file mode 100644 index 2121e50948e0a3..00000000000000 --- a/usb.current/kfifo-make-kfifo_initialized-work-after-kfifo_free.patch +++ /dev/null @@ -1,35 +0,0 @@ -From avorontsov@ru.mvista.com Wed Jan 27 15:59:32 2010 -From: Anton Vorontsov <avorontsov@ru.mvista.com> -Date: Wed, 27 Jan 2010 17:09:34 +0300 -Subject: kfifo: Make kfifo_initialized work after kfifo_free -To: Andrew Morton <akpm@linux-foundation.org> -Cc: Greg Kroah-Hartman <gregkh@suse.de>, Josh Boyer <jwboyer@gmail.com>, Stefani Seibold <stefani@seibold.net>, linuxppc-dev@ozlabs.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org -Message-ID: <20100127140934.GA31608@oksana.dev.rtsoft.ru> -Content-Disposition: inline - - -After kfifo rework it's no longer possible to reliably know if kfifo is -usable, since after kfifo_free(), kfifo_initialized() would still return -true. The correct behaviour is needed for at least FHCI USB driver. - -This patch fixes the issue by resetting the kfifo to zero values (the -same approach is used in kfifo_alloc() if allocation failed). - -Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> -Acked-by: Stefani Seibold <stefani@seibold.net> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - kernel/kfifo.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/kernel/kfifo.c -+++ b/kernel/kfifo.c -@@ -97,6 +97,7 @@ EXPORT_SYMBOL(kfifo_alloc); - void kfifo_free(struct kfifo *fifo) - { - kfree(fifo->buffer); -+ _kfifo_init(fifo, NULL, 0); - } - EXPORT_SYMBOL(kfifo_free); - diff --git a/usb.current/usb-ehci-phy-low-power-mode-bug-fixing.patch b/usb.current/usb-ehci-phy-low-power-mode-bug-fixing.patch deleted file mode 100644 index dfd1c6e62124b0..00000000000000 --- a/usb.current/usb-ehci-phy-low-power-mode-bug-fixing.patch +++ /dev/null @@ -1,58 +0,0 @@ -From alek.du@intel.com Wed Jan 27 14:41:05 2010 -From: alek du <alek.du@intel.com> -Date: Tue, 19 Jan 2010 16:31:31 +0800 -Subject: USB: ehci: phy low power mode bug fixing -To: Arnd Bergmann <arnd@arndb.de>, Greg KH <greg@kroah.com> -Cc: Julia Lawall <julia@diku.dk>, Andreas Mohr <andi@lisas.de>, "Pan, Jacob jun" <jacob.jun.pan@intel.com>, Alan Stern <stern@rowland.harvard.edu> -Message-ID: <20100119163131.0af9f540@dxy2> - - -From: Alek Du <alek.du@intel.com> - -1. There are two msleep calls inside two spin lock sections, need to unlock - and lock again after msleep. -2. Save a extra status reg setting. - -Signed-off-by: Alek Du <alek.du@intel.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/host/ehci-hub.c | 13 ++++++++----- - 1 file changed, 8 insertions(+), 5 deletions(-) - ---- a/drivers/usb/host/ehci-hub.c -+++ b/drivers/usb/host/ehci-hub.c -@@ -196,7 +196,9 @@ static int ehci_bus_suspend (struct usb_ - if (hostpc_reg) { - u32 t3; - -+ spin_unlock_irq(&ehci->lock); - msleep(5);/* 5ms for HCD enter low pwr mode */ -+ spin_lock_irq(&ehci->lock); - t3 = ehci_readl(ehci, hostpc_reg); - ehci_writel(ehci, t3 | HOSTPC_PHCD, hostpc_reg); - t3 = ehci_readl(ehci, hostpc_reg); -@@ -904,17 +906,18 @@ static int ehci_hub_control ( - if ((temp & PORT_PE) == 0 - || (temp & PORT_RESET) != 0) - goto error; -- ehci_writel(ehci, temp | PORT_SUSPEND, status_reg); -+ - /* After above check the port must be connected. - * Set appropriate bit thus could put phy into low power - * mode if we have hostpc feature - */ -+ temp &= ~PORT_WKCONN_E; -+ temp |= PORT_WKDISC_E | PORT_WKOC_E; -+ ehci_writel(ehci, temp | PORT_SUSPEND, status_reg); - if (hostpc_reg) { -- temp &= ~PORT_WKCONN_E; -- temp |= (PORT_WKDISC_E | PORT_WKOC_E); -- ehci_writel(ehci, temp | PORT_SUSPEND, -- status_reg); -+ spin_unlock_irqrestore(&ehci->lock, flags); - msleep(5);/* 5ms for HCD enter low pwr mode */ -+ spin_lock_irqsave(&ehci->lock, flags); - temp1 = ehci_readl(ehci, hostpc_reg); - ehci_writel(ehci, temp1 | HOSTPC_PHCD, - hostpc_reg); diff --git a/usb.current/usb-fhci-fix-build-after-kfifo-rework.patch b/usb.current/usb-fhci-fix-build-after-kfifo-rework.patch deleted file mode 100644 index 74db03f185fa1b..00000000000000 --- a/usb.current/usb-fhci-fix-build-after-kfifo-rework.patch +++ /dev/null @@ -1,61 +0,0 @@ -From avorontsov@ru.mvista.com Wed Jan 27 15:59:56 2010 -From: Anton Vorontsov <avorontsov@ru.mvista.com> -Date: Wed, 27 Jan 2010 17:09:36 +0300 -Subject: USB: FHCI: Fix build after kfifo rework -To: Andrew Morton <akpm@linux-foundation.org> -Cc: Greg Kroah-Hartman <gregkh@suse.de>, Josh Boyer <jwboyer@gmail.com>, Stefani Seibold <stefani@seibold.net>, linuxppc-dev@ozlabs.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org -Message-ID: <20100127140936.GB31608@oksana.dev.rtsoft.ru> -Content-Disposition: inline - - -After kfifo rework FHCI fails to build: - - CC drivers/usb/host/fhci-tds.o -drivers/usb/host/fhci-tds.c: In function 'fhci_ep0_free': -drivers/usb/host/fhci-tds.c:108: error: used struct type value where scalar is required -drivers/usb/host/fhci-tds.c:118: error: used struct type value where scalar is required -drivers/usb/host/fhci-tds.c:128: error: used struct type value where scalar is required - -This is because kfifos are no longer pointers in the ep struct. -So, instead of checking the pointers, we should now check if kfifo -is initialized. - -Reported-by: Josh Boyer <jwboyer@gmail.com> -Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> -Acked-by: Stefani Seibold <stefani@seibold.net> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - - ---- - drivers/usb/host/fhci-tds.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- a/drivers/usb/host/fhci-tds.c -+++ b/drivers/usb/host/fhci-tds.c -@@ -105,7 +105,7 @@ void fhci_ep0_free(struct fhci_usb *usb) - if (ep->td_base) - cpm_muram_free(cpm_muram_offset(ep->td_base)); - -- if (ep->conf_frame_Q) { -+ if (kfifo_initialized(&ep->conf_frame_Q)) { - size = cq_howmany(&ep->conf_frame_Q); - for (; size; size--) { - struct packet *pkt = cq_get(&ep->conf_frame_Q); -@@ -115,7 +115,7 @@ void fhci_ep0_free(struct fhci_usb *usb) - cq_delete(&ep->conf_frame_Q); - } - -- if (ep->empty_frame_Q) { -+ if (kfifo_initialized(&ep->empty_frame_Q)) { - size = cq_howmany(&ep->empty_frame_Q); - for (; size; size--) { - struct packet *pkt = cq_get(&ep->empty_frame_Q); -@@ -125,7 +125,7 @@ void fhci_ep0_free(struct fhci_usb *usb) - cq_delete(&ep->empty_frame_Q); - } - -- if (ep->dummy_packets_Q) { -+ if (kfifo_initialized(&ep->dummy_packets_Q)) { - size = cq_howmany(&ep->dummy_packets_Q); - for (; size; size--) { - u8 *buff = cq_get(&ep->dummy_packets_Q); diff --git a/usb.current/usb-ftdi_sio-add-device-ids-several-elv-one-mindstorms-nxt.patch b/usb.current/usb-ftdi_sio-add-device-ids-several-elv-one-mindstorms-nxt.patch deleted file mode 100644 index 1e550f045426d6..00000000000000 --- a/usb.current/usb-ftdi_sio-add-device-ids-several-elv-one-mindstorms-nxt.patch +++ /dev/null @@ -1,142 +0,0 @@ -From andi@lisas.de Wed Jan 27 14:30:09 2010 -From: Andreas Mohr <andi@lisas.de> -Date: Sun, 17 Jan 2010 11:45:38 +0100 -Subject: USB: ftdi_sio: add device IDs (several ELV, one Mindstorms NXT) -To: Greg Kroah-Hartman <gregkh@suse.de> -Cc: kuba@mareimbrium.org, linux-usb@vger.kernel.org -Message-ID: <20100117104538.GA25234@rhlx01.hs-esslingen.de> -Content-Disposition: inline - - -- add FTDI device IDs for several ELV devices and NXTCam of Lego Mindstorms NXT -- add hopefully helpful new_id comment -- remove less helpful "Due to many user requests for multiple ELV devices we enable - them by default." comment (we simply add _all_ known devices - an - enduser shouldn't have to fiddle with obscure module parameters...). -- add myself to DRIVER_AUTHOR - -The missing NXTCam ID has been found at -http://www.unixboard.de/vb3/showthread.php?t=44155 -, ELV devices taken from ELV Windows .inf file. - -Signed-off-by: Andreas Mohr <andi@lisas.de> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/serial/ftdi_sio.c | 24 +++++++++++++++++++++--- - drivers/usb/serial/ftdi_sio_ids.h | 17 +++++++++++++++++ - 2 files changed, 38 insertions(+), 3 deletions(-) - ---- a/drivers/usb/serial/ftdi_sio.c -+++ b/drivers/usb/serial/ftdi_sio.c -@@ -50,7 +50,7 @@ - * Version Information - */ - #define DRIVER_VERSION "v1.5.0" --#define DRIVER_AUTHOR "Greg Kroah-Hartman <greg@kroah.com>, Bill Ryder <bryder@sgi.com>, Kuba Ober <kuba@mareimbrium.org>" -+#define DRIVER_AUTHOR "Greg Kroah-Hartman <greg@kroah.com>, Bill Ryder <bryder@sgi.com>, Kuba Ober <kuba@mareimbrium.org>, Andreas Mohr" - #define DRIVER_DESC "USB FTDI Serial Converters Driver" - - static int debug; -@@ -145,10 +145,15 @@ static struct ftdi_sio_quirk ftdi_HE_TIR - - - -+/* -+ * Device ID not listed? Test via module params product/vendor or -+ * /sys/bus/usb/ftdi_sio/new_id, then send patch/report! -+ */ - static struct usb_device_id id_table_combined [] = { - { USB_DEVICE(FTDI_VID, FTDI_AMC232_PID) }, - { USB_DEVICE(FTDI_VID, FTDI_CANUSB_PID) }, - { USB_DEVICE(FTDI_VID, FTDI_CANDAPTER_PID) }, -+ { USB_DEVICE(FTDI_VID, FTDI_NXTCAM_PID) }, - { USB_DEVICE(FTDI_VID, FTDI_SCS_DEVICE_0_PID) }, - { USB_DEVICE(FTDI_VID, FTDI_SCS_DEVICE_1_PID) }, - { USB_DEVICE(FTDI_VID, FTDI_SCS_DEVICE_2_PID) }, -@@ -552,9 +557,16 @@ static struct usb_device_id id_table_com - { USB_DEVICE(FTDI_VID, FTDI_IBS_PEDO_PID) }, - { USB_DEVICE(FTDI_VID, FTDI_IBS_PROD_PID) }, - /* -- * Due to many user requests for multiple ELV devices we enable -- * them by default. -+ * ELV devices: - */ -+ { USB_DEVICE(FTDI_VID, FTDI_ELV_USR_PID) }, -+ { USB_DEVICE(FTDI_VID, FTDI_ELV_MSM1_PID) }, -+ { USB_DEVICE(FTDI_VID, FTDI_ELV_KL100_PID) }, -+ { USB_DEVICE(FTDI_VID, FTDI_ELV_WS550_PID) }, -+ { USB_DEVICE(FTDI_VID, FTDI_ELV_EC3000_PID) }, -+ { USB_DEVICE(FTDI_VID, FTDI_ELV_WS888_PID) }, -+ { USB_DEVICE(FTDI_VID, FTDI_ELV_TWS550_PID) }, -+ { USB_DEVICE(FTDI_VID, FTDI_ELV_FEM_PID) }, - { USB_DEVICE(FTDI_VID, FTDI_ELV_CLI7000_PID) }, - { USB_DEVICE(FTDI_VID, FTDI_ELV_PPS7330_PID) }, - { USB_DEVICE(FTDI_VID, FTDI_ELV_TFM100_PID) }, -@@ -571,11 +583,17 @@ static struct usb_device_id id_table_com - { USB_DEVICE(FTDI_VID, FTDI_ELV_PCK100_PID) }, - { USB_DEVICE(FTDI_VID, FTDI_ELV_RFP500_PID) }, - { USB_DEVICE(FTDI_VID, FTDI_ELV_FS20SIG_PID) }, -+ { USB_DEVICE(FTDI_VID, FTDI_ELV_UTP8_PID) }, - { USB_DEVICE(FTDI_VID, FTDI_ELV_WS300PC_PID) }, -+ { USB_DEVICE(FTDI_VID, FTDI_ELV_WS444PC_PID) }, - { USB_DEVICE(FTDI_VID, FTDI_ELV_FHZ1300PC_PID) }, - { USB_DEVICE(FTDI_VID, FTDI_ELV_EM1010PC_PID) }, - { USB_DEVICE(FTDI_VID, FTDI_ELV_WS500_PID) }, - { USB_DEVICE(FTDI_VID, FTDI_ELV_HS485_PID) }, -+ { USB_DEVICE(FTDI_VID, FTDI_ELV_UMS100_PID) }, -+ { USB_DEVICE(FTDI_VID, FTDI_ELV_TFD128_PID) }, -+ { USB_DEVICE(FTDI_VID, FTDI_ELV_FM3RX_PID) }, -+ { USB_DEVICE(FTDI_VID, FTDI_ELV_WS777_PID) }, - { USB_DEVICE(FTDI_VID, LINX_SDMUSBQSS_PID) }, - { USB_DEVICE(FTDI_VID, LINX_MASTERDEVEL2_PID) }, - { USB_DEVICE(FTDI_VID, LINX_FUTURE_0_PID) }, ---- a/drivers/usb/serial/ftdi_sio_ids.h -+++ b/drivers/usb/serial/ftdi_sio_ids.h -@@ -38,6 +38,8 @@ - /* www.candapter.com Ewert Energy Systems CANdapter device */ - #define FTDI_CANDAPTER_PID 0x9F80 /* Product Id */ - -+#define FTDI_NXTCAM_PID 0xABB8 /* NXTCam for Mindstorms NXT */ -+ - /* OOCDlink by Joern Kaipf <joernk@web.de> - * (http://www.joernonline.de/dw/doku.php?id=start&idx=projects:oocdlink) */ - #define FTDI_OOCDLINK_PID 0xbaf8 /* Amontec JTAGkey */ -@@ -161,22 +163,37 @@ - /* - * ELV USB devices submitted by Christian Abt of ELV (www.elv.de). - * All of these devices use FTDI's vendor ID (0x0403). -+ * Further IDs taken from ELV Windows .inf file. - * - * The previously included PID for the UO 100 module was incorrect. - * In fact, that PID was for ELV's UR 100 USB-RS232 converter (0xFB58). - * - * Armin Laeuger originally sent the PID for the UM 100 module. - */ -+#define FTDI_ELV_USR_PID 0xE000 /* ELV Universal-Sound-Recorder */ -+#define FTDI_ELV_MSM1_PID 0xE001 /* ELV Mini-Sound-Modul */ -+#define FTDI_ELV_KL100_PID 0xE002 /* ELV Kfz-Leistungsmesser KL 100 */ -+#define FTDI_ELV_WS550_PID 0xE004 /* WS 550 */ -+#define FTDI_ELV_EC3000_PID 0xE006 /* ENERGY CONTROL 3000 USB */ -+#define FTDI_ELV_WS888_PID 0xE008 /* WS 888 */ -+#define FTDI_ELV_TWS550_PID 0xE009 /* Technoline WS 550 */ -+#define FTDI_ELV_FEM_PID 0xE00A /* Funk Energie Monitor */ - #define FTDI_ELV_FHZ1300PC_PID 0xE0E8 /* FHZ 1300 PC */ - #define FTDI_ELV_WS500_PID 0xE0E9 /* PC-Wetterstation (WS 500) */ - #define FTDI_ELV_HS485_PID 0xE0EA /* USB to RS-485 adapter */ -+#define FTDI_ELV_UMS100_PID 0xE0EB /* ELV USB Master-Slave Schaltsteckdose UMS 100 */ -+#define FTDI_ELV_TFD128_PID 0xE0EC /* ELV Temperatur-Feuchte-Datenlogger TFD 128 */ -+#define FTDI_ELV_FM3RX_PID 0xE0ED /* ELV Messwertuebertragung FM3 RX */ -+#define FTDI_ELV_WS777_PID 0xE0EE /* Conrad WS 777 */ - #define FTDI_ELV_EM1010PC_PID 0xE0EF /* Engery monitor EM 1010 PC */ - #define FTDI_ELV_CSI8_PID 0xE0F0 /* Computer-Schalt-Interface (CSI 8) */ - #define FTDI_ELV_EM1000DL_PID 0xE0F1 /* PC-Datenlogger fuer Energiemonitor (EM 1000 DL) */ - #define FTDI_ELV_PCK100_PID 0xE0F2 /* PC-Kabeltester (PCK 100) */ - #define FTDI_ELV_RFP500_PID 0xE0F3 /* HF-Leistungsmesser (RFP 500) */ - #define FTDI_ELV_FS20SIG_PID 0xE0F4 /* Signalgeber (FS 20 SIG) */ -+#define FTDI_ELV_UTP8_PID 0xE0F5 /* ELV UTP 8 */ - #define FTDI_ELV_WS300PC_PID 0xE0F6 /* PC-Wetterstation (WS 300 PC) */ -+#define FTDI_ELV_WS444PC_PID 0xE0F7 /* Conrad WS 444 PC */ - #define FTDI_PHI_FISCO_PID 0xE40B /* PHI Fisco USB to Serial cable */ - #define FTDI_ELV_UAD8_PID 0xF068 /* USB-AD-Wandler (UAD 8) */ - #define FTDI_ELV_UDA7_PID 0xF069 /* USB-DA-Wandler (UDA 7) */ diff --git a/usb.current/usb-ftdi_sio-new-device-id-for-papouch-ad4usb.patch b/usb.current/usb-ftdi_sio-new-device-id-for-papouch-ad4usb.patch deleted file mode 100644 index 99a342c8fd1e31..00000000000000 --- a/usb.current/usb-ftdi_sio-new-device-id-for-papouch-ad4usb.patch +++ /dev/null @@ -1,45 +0,0 @@ -From liboska@uochb.cas.cz Wed Jan 27 14:09:59 2010 -From: Radek Liboska <liboska@uochb.cas.cz> -Date: Wed, 27 Jan 2010 15:38:34 +0100 -Subject: USB: ftdi_sio: new device id for papouch AD4USB -To: Greg KH <greg@kroah.com> -Message-ID: <4B604FEA.2080304@uochb.cas.cz> - - -added new device pid (PAPOUCH_AD4USB_PID) to ftdi_sio.h and ftdi_sio.c - -AD4USB measuring converter is a 4-input A/D converter which enables the -user to measure to four current inputs ranging from 0(4) to 20 mA or -voltage between 0 and 10 V. The measured values are then transferred to -a superior system in digital form. The AD4USB communicates via USB. -Powered is also via USB. datasheet in english is here: -http://www.papouch.com/shop/scripts/pdf/ad4usb_en.pdf - - -Signed-off-by: Radek Liboska <liboska@uochb.cas.cz> - ---- - drivers/usb/serial/ftdi_sio.c | 1 + - drivers/usb/serial/ftdi_sio_ids.h | 1 + - 2 files changed, 2 insertions(+) - ---- a/drivers/usb/serial/ftdi_sio.c -+++ b/drivers/usb/serial/ftdi_sio.c -@@ -697,6 +697,7 @@ static struct usb_device_id id_table_com - { USB_DEVICE(RATOC_VENDOR_ID, RATOC_PRODUCT_ID_USB60F) }, - { USB_DEVICE(FTDI_VID, FTDI_REU_TINY_PID) }, - { USB_DEVICE(PAPOUCH_VID, PAPOUCH_QUIDO4x4_PID) }, -+ { USB_DEVICE(PAPOUCH_VID, PAPOUCH_AD4USB_PID) }, - { USB_DEVICE(FTDI_VID, FTDI_DOMINTELL_DGQG_PID) }, - { USB_DEVICE(FTDI_VID, FTDI_DOMINTELL_DUSB_PID) }, - { USB_DEVICE(ALTI2_VID, ALTI2_N3_PID) }, ---- a/drivers/usb/serial/ftdi_sio_ids.h -+++ b/drivers/usb/serial/ftdi_sio_ids.h -@@ -968,6 +968,7 @@ - #define PAPOUCH_VID 0x5050 /* Vendor ID */ - #define PAPOUCH_TMU_PID 0x0400 /* TMU USB Thermometer */ - #define PAPOUCH_QUIDO4x4_PID 0x0900 /* Quido 4/4 Module */ -+#define PAPOUCH_AD4USB_PID 0x8003 /* AD4USB Measurement Module */ - - /* - * Marvell SheevaPlug diff --git a/usb.current/usb-g_multi-fix-config_usb_g_multi_rndis-usage.patch b/usb.current/usb-g_multi-fix-config_usb_g_multi_rndis-usage.patch deleted file mode 100644 index 0776793fd138dc..00000000000000 --- a/usb.current/usb-g_multi-fix-config_usb_g_multi_rndis-usage.patch +++ /dev/null @@ -1,34 +0,0 @@ -From m.nazarewicz@samsung.com Wed Jan 27 18:18:07 2010 -From: Michal Nazarewicz <m.nazarewicz@samsung.com> -Date: Fri, 22 Jan 2010 15:18:21 +0100 -Subject: USB: g_multi: fix CONFIG_USB_G_MULTI_RNDIS usage -To: Randy Dunlap <randy.dunlap@oracle.com>, Stephen Rothwell <sfr@canb.auug.org.au>, Greg KH <greg@kroah.com>, Randy Dunlap <randy.dunlap@oracle.com>, Stephen Rothwell <sfr@canb.auug.org.au>, Greg KH <greg@kroah.com> -Cc: Michal Nazarewicz <m.nazarewicz@samsung.com>, linux-next@vger.kernel.org, linux-kernel@vger.kernel.org, Marek Szyprowski <m.szyprowski@samsung.com>, Kyungmin Park <kyungmin.park@samsung.com> -Message-ID: <1264169901-12475-1-git-send-email-m.nazarewicz@samsung.com> - - -g_multi used CONFIG_USB_ETH_RNDIS to check if RNDIS option was requested -where it should check for CONFIG_USB_G_MULTI_RNDIS. As a result, RNDIS -was never present in g_multi regardless of configuration. - -This fixes changes made in commit 396cda90d228d0851f3d64c7c85a1ecf6b8ae1e8. - -Signed-off-by: Michal Nazarewicz <m.nazarewicz@samsung.com> -Cc: Marek Szyprowski <m.szyprowski@samsung.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/gadget/multi.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/usb/gadget/multi.c -+++ b/drivers/usb/gadget/multi.c -@@ -29,7 +29,7 @@ - #if defined USB_ETH_RNDIS - # undef USB_ETH_RNDIS - #endif --#ifdef CONFIG_USB_ETH_RNDIS -+#ifdef CONFIG_USB_G_MULTI_RNDIS - # define USB_ETH_RNDIS y - #endif - diff --git a/usb.current/usb-gadget-fix-eem-gadget-crc-usage.patch b/usb.current/usb-gadget-fix-eem-gadget-crc-usage.patch deleted file mode 100644 index 55e73e57d94ec3..00000000000000 --- a/usb.current/usb-gadget-fix-eem-gadget-crc-usage.patch +++ /dev/null @@ -1,44 +0,0 @@ -From bniebuhr3@gmail.com Thu Jan 28 09:47:04 2010 -From: Brian Niebuhr <bniebuhr3@gmail.com> -Date: Mon, 25 Jan 2010 14:45:40 -0600 -Subject: USB: gadget: fix EEM gadget CRC usage -To: linux-usb@vger.kernel.org -Cc: Brian Niebuhr <bniebuhr@efjohnson.com>, Steve Longerbeam <stevel@netspectrum.com> -Message-ID: <9b99923f1001251245k11a1e74bo276d881a4069c277@mail.gmail.com> - - -eem_wrap() is sending a sentinel CRC, but it didn't indicate that to -the host, it should zero bit 14 (bmCRC) in the EEM packet header, -instead of setting it. - -Also remove a redundant crc calculation in eem_unwrap(). - - -Signed-off-by: Steve Longerbeam <stevel@netspectrum.com> -Acked-by: Brian Niebuhr <bniebuhr@efjohnson.com> -Acked-by: David Brownell <dbrownell@users.sourceforge.net> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/gadget/f_eem.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - ---- a/drivers/usb/gadget/f_eem.c -+++ b/drivers/usb/gadget/f_eem.c -@@ -358,7 +358,7 @@ done: - * b15: bmType (0 == data) - */ - len = skb->len; -- put_unaligned_le16((len & 0x3FFF) | BIT(14), skb_push(skb, 2)); -+ put_unaligned_le16(len & 0x3FFF, skb_push(skb, 2)); - - /* add a zero-length EEM packet, if needed */ - if (padlen) -@@ -464,7 +464,6 @@ static int eem_unwrap(struct gether *por - } - - /* validate CRC */ -- crc = get_unaligned_le32(skb->data + len - ETH_FCS_LEN); - if (header & BIT(14)) { - crc = get_unaligned_le32(skb->data + len - - ETH_FCS_LEN); diff --git a/usb.current/usb-otg-kconfig-let-usb_otg_utils-select-usb_ulpi-option.patch b/usb.current/usb-otg-kconfig-let-usb_otg_utils-select-usb_ulpi-option.patch deleted file mode 100644 index d7c3b81b2528a2..00000000000000 --- a/usb.current/usb-otg-kconfig-let-usb_otg_utils-select-usb_ulpi-option.patch +++ /dev/null @@ -1,41 +0,0 @@ -From valentin.longchamp@epfl.ch Wed Jan 27 18:24:25 2010 -From: Valentin Longchamp <valentin.longchamp@epfl.ch> -Date: Wed, 20 Jan 2010 20:06:31 +0100 -Subject: USB: otg Kconfig: let USB_OTG_UTILS select USB_ULPI option -To: s.hauer@pengutronix.de, u.kleine-koenig@pengutronix.de, daniel@caiaq.de -Cc: linux-arm-kernel@lists.infradead.org, linux-usb@vger.kernel.org, Valentin Longchamp <valentin.longchamp@epfl.ch> -Message-ID: <1264014391-11521-1-git-send-email-valentin.longchamp@epfl.ch> - - -With CONFIG_USB_ULPI=y, CONFIG_USB<=m, CONFIG_PCI=n and -CONFIG_USB_OTG_UTILS=n, which is the default used for mx31moboard, -the build for all mx3 platforms fails because drivers/usb/otg/ulpi.c -where otg_ulpi_create is defined is not compiled. - -Build error: -arch/arm/mach-mx3/built-in.o: In function `mxc_board_init': -kzmarm11.c:(.init.text+0x73c): undefined reference to `otg_ulpi_create' -kzmarm11.c:(.init.text+0x1020): undefined reference to `otg_ulpi_create' - -This isn't a strong dependency as drivers/usb/otg/ulpi.c doesn't -use functions defined in drivers/usb/otg/otg.o and is only needed -to get ulpi.o linked into the kernel image. - -Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch> -Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/otg/Kconfig | 1 + - 1 file changed, 1 insertion(+) - ---- a/drivers/usb/otg/Kconfig -+++ b/drivers/usb/otg/Kconfig -@@ -44,6 +44,7 @@ config ISP1301_OMAP - config USB_ULPI - bool "Generic ULPI Transceiver Driver" - depends on ARM -+ select USB_OTG_UTILS - help - Enable this to support ULPI connected USB OTG transceivers which - are likely found on embedded boards. diff --git a/usb.current/usb-r8a66597-udc-prototype-is_err-and-ptr_err.patch b/usb.current/usb-r8a66597-udc-prototype-is_err-and-ptr_err.patch deleted file mode 100644 index 02a1b7d1123c03..00000000000000 --- a/usb.current/usb-r8a66597-udc-prototype-is_err-and-ptr_err.patch +++ /dev/null @@ -1,31 +0,0 @@ -From broonie@opensource.wolfsonmicro.com Wed Jan 27 14:36:19 2010 -From: Mark Brown <broonie@opensource.wolfsonmicro.com> -Date: Mon, 18 Jan 2010 12:03:18 +0000 -Subject: USB: r8a66597-udc: Prototype IS_ERR() and PTR_ERR() -To: David Brownell <dbrownell@users.sourceforge.net>, Paul Mundt <lethal@linux-sh.org>, Magnus Damm <damm@igel.co.jp>, Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> -Cc: linux-usb@vger.kernel.org, Mark Brown <broonie@opensource.wolfsonmicro.com> -Message-ID: <1263816198-32008-1-git-send-email-broonie@opensource.wolfsonmicro.com> - - -The build of r8a66597-udc was failing on ARM since IS_ERR() and -PTR_ERR() weren't protyped. Presumably err.h is being pulled in by -another header on other platforms. - -Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> -Acked-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/gadget/r8a66597-udc.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/drivers/usb/gadget/r8a66597-udc.c -+++ b/drivers/usb/gadget/r8a66597-udc.c -@@ -26,6 +26,7 @@ - #include <linux/io.h> - #include <linux/platform_device.h> - #include <linux/clk.h> -+#include <linux/err.h> - - #include <linux/usb/ch9.h> - #include <linux/usb/gadget.h> diff --git a/usb.current/usb-s3c-hsotg-export-usb_gadget_register_driver.patch b/usb.current/usb-s3c-hsotg-export-usb_gadget_register_driver.patch deleted file mode 100644 index 1fcf63535a10ba..00000000000000 --- a/usb.current/usb-s3c-hsotg-export-usb_gadget_register_driver.patch +++ /dev/null @@ -1,30 +0,0 @@ -From broonie@opensource.wolfsonmicro.com Wed Jan 27 14:36:56 2010 -From: Mark Brown <broonie@opensource.wolfsonmicro.com> -Date: Mon, 18 Jan 2010 13:18:34 +0000 -Subject: USB: s3c-hsotg: Export usb_gadget_register_driver() -To: Greg Kroah-Hartman <gregkh@suse.de>, David Brownell <dbrownell@users.sourceforge.net>, Ben Dooks <ben-linux@fluff.org> -Cc: linux-usb@vger.kernel.org, Mark Brown <broonie@opensource.wolfsonmicro.com> -Message-ID: <1263820715-12483-1-git-send-email-broonie@opensource.wolfsonmicro.com> - - -USB gadget controller drivers normally export their driver registration -function, allowing modular builds of the individual gadget drivers so -do so for s3c-hsotg, fixing builds. - -Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/gadget/s3c-hsotg.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/drivers/usb/gadget/s3c-hsotg.c -+++ b/drivers/usb/gadget/s3c-hsotg.c -@@ -2582,6 +2582,7 @@ err: - hsotg->gadget.dev.driver = NULL; - return ret; - } -+EXPORT_SYMBOL(usb_gadget_register_driver); - - int usb_gadget_unregister_driver(struct usb_gadget_driver *driver) - { diff --git a/usb.current/usb-serial-add-usbid-for-dell-wwan-card-to-sierra.c.patch b/usb.current/usb-serial-add-usbid-for-dell-wwan-card-to-sierra.c.patch deleted file mode 100644 index a6022926e4c333..00000000000000 --- a/usb.current/usb-serial-add-usbid-for-dell-wwan-card-to-sierra.c.patch +++ /dev/null @@ -1,32 +0,0 @@ -From sidhayn@gmail.com Wed Jan 27 14:44:58 2010 -From: Richard Farina <sidhayn@gmail.com> -Date: Wed, 20 Jan 2010 16:42:33 -0500 -Subject: USB: serial: add usbid for dell wwan card to sierra.c -Cc: Greg Kroah-Hartman <gregkh@suse.de> -Message-ID: <4B5778C9.8010301@gmail.com> - - -This patch adds support for Dell Computer Corp. Wireless 5720 VZW Mobile -Broadband (EVDO Rev-A) Minicard GPS Port. I stole the name from lsusb, -but my card does not have a GPS on it (at least not that I can make -function). I'm sure the patch is whitespace damaged but the one line -addition should be fairly straightforward nonetheless. - -Tested-by: Rick Farina <sidhayn@gmail.com> -Signed-off-by: Rick Farina <sidhayn@gmail.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/serial/sierra.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/drivers/usb/serial/sierra.c -+++ b/drivers/usb/serial/sierra.c -@@ -298,6 +298,7 @@ static const struct usb_device_id id_tab - { USB_DEVICE(0x1199, 0x68A3), /* Sierra Wireless Direct IP modems */ - .driver_info = (kernel_ulong_t)&direct_ip_interface_blacklist - }, -+ { USB_DEVICE(0x413C, 0x08133) }, /* Dell Computer Corp. Wireless 5720 VZW Mobile Broadband (EVDO Rev-A) Minicard GPS Port */ - - { } - }; diff --git a/usb.current/usb-sis-usb2vga-driver-support-kairen-s-usb-vga-adaptor-usb20svga-mb-plus.patch b/usb.current/usb-sis-usb2vga-driver-support-kairen-s-usb-vga-adaptor-usb20svga-mb-plus.patch deleted file mode 100644 index cb0141f41da0cd..00000000000000 --- a/usb.current/usb-sis-usb2vga-driver-support-kairen-s-usb-vga-adaptor-usb20svga-mb-plus.patch +++ /dev/null @@ -1,29 +0,0 @@ -From akr@fsij.org Wed Jan 27 14:43:15 2010 -From: Tanaka Akira <akr@fsij.org> -Date: Thu, 21 Jan 2010 02:31:09 +0900 -Subject: USB: SIS USB2VGA DRIVER: support KAIREN's USB VGA adaptor USB20SVGA-MB-PLUS -To: Thomas Winischhofer <thomas@winischhofer.net> -Cc: Greg Kroah-Hartman <greg@kroah.com>, linux-kernel@vger.kernel.org -Message-ID: <49c17ca71001200931p76e945d1g360d2cb5f9d7e72a@mail.gmail.com> - - -This patch adds the USB product ID of KAIREN's USB VGA Adaptor, -USB20SVGA-MB-PLUS, to sisusbvga work with it. - -Signed-off-by: Tanaka Akira <akr@fsij.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/misc/sisusbvga/sisusb.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/drivers/usb/misc/sisusbvga/sisusb.c -+++ b/drivers/usb/misc/sisusbvga/sisusb.c -@@ -3245,6 +3245,7 @@ static struct usb_device_id sisusb_table - { USB_DEVICE(0x0711, 0x0902) }, - { USB_DEVICE(0x0711, 0x0903) }, - { USB_DEVICE(0x0711, 0x0918) }, -+ { USB_DEVICE(0x0711, 0x0920) }, - { USB_DEVICE(0x182d, 0x021c) }, - { USB_DEVICE(0x182d, 0x0269) }, - { } diff --git a/usb.current/usb-storage-remove-unneeded-sc-pr-from-unusual_devs.h.patch b/usb.current/usb-storage-remove-unneeded-sc-pr-from-unusual_devs.h.patch deleted file mode 100644 index 888ff49ca2e8a6..00000000000000 --- a/usb.current/usb-storage-remove-unneeded-sc-pr-from-unusual_devs.h.patch +++ /dev/null @@ -1,30 +0,0 @@ -From phil@ipom.com Wed Jan 27 14:29:04 2010 -From: Phil Dibowitz <phil@ipom.com> -Date: Sat, 16 Jan 2010 19:52:17 +0100 -Subject: USB: storage: Remove unneeded SC/PR from unusual_devs.h -To: Greg KH <greg@kroah.com> -Message-ID: <4B520AE1.5030107@ipom.com> - -This patch removes the subclass and protocol entries from a Microtech -entry in unusual_devs.h. This was reported by <ryck@pacbell.net>. - -Greg, please apply. - -Signed-off-by: Phil Dibowitz <phil@ipom.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/storage/unusual_devs.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/usb/storage/unusual_devs.h -+++ b/drivers/usb/storage/unusual_devs.h -@@ -941,7 +941,7 @@ UNUSUAL_DEV( 0x07ab, 0xfccd, 0x0000, 0x - UNUSUAL_DEV( 0x07af, 0x0004, 0x0100, 0x0133, - "Microtech", - "USB-SCSI-DB25", -- US_SC_SCSI, US_PR_BULK, usb_stor_euscsi_init, -+ US_SC_DEVICE, US_PR_DEVICE, usb_stor_euscsi_init, - US_FL_SCM_MULT_TARG ), - - UNUSUAL_DEV( 0x07af, 0x0005, 0x0100, 0x0100, diff --git a/usb.current/usb-usbfs-only-copy-the-actual-data-received.patch b/usb.current/usb-usbfs-only-copy-the-actual-data-received.patch deleted file mode 100644 index 9064607e94c824..00000000000000 --- a/usb.current/usb-usbfs-only-copy-the-actual-data-received.patch +++ /dev/null @@ -1,49 +0,0 @@ -From security-bounces@linux.kernel.org Mon Feb 15 09:38:09 2010 -From: Greg KH <greg@kroah.com> -Date: Mon, 15 Feb 2010 09:37:46 -0800 -Subject: USB: usbfs: only copy the actual data received -To: Alan Stern <stern@rowland.harvard.edu> -Cc: Marcus Meissner <meissner@suse.de> - -We need to only copy the data received by the device to userspace, not -the whole kernel buffer, which can contain "stale" data. - -Thanks to Marcus Meissner for pointing this out and testing the fix. - -Reported-by: Marcus Meissner <meissner@suse.de> -Tested-by: Marcus Meissner <meissner@suse.de> -Cc: Alan Stern <stern@rowland.harvard.edu> -Cc: Linus Torvalds <torvalds@linux-foundation.org> -Cc: stable <stable@kernel.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/core/devio.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - ---- a/drivers/usb/core/devio.c -+++ b/drivers/usb/core/devio.c -@@ -1312,9 +1312,9 @@ static int processcompl(struct async *as - void __user *addr = as->userurb; - unsigned int i; - -- if (as->userbuffer) -+ if (as->userbuffer && urb->actual_length) - if (copy_to_user(as->userbuffer, urb->transfer_buffer, -- urb->transfer_buffer_length)) -+ urb->actual_length)) - goto err_out; - if (put_user(as->status, &userurb->status)) - goto err_out; -@@ -1475,9 +1475,9 @@ static int processcompl_compat(struct as - void __user *addr = as->userurb; - unsigned int i; - -- if (as->userbuffer) -+ if (as->userbuffer && urb->actual_length) - if (copy_to_user(as->userbuffer, urb->transfer_buffer, -- urb->transfer_buffer_length)) -+ urb->actual_length)) - return -EFAULT; - if (put_user(as->status, &userurb->status)) - return -EFAULT; diff --git a/usb.current/usb-usbfs-properly-clean-up-the-as-structure-on-error-paths.patch b/usb.current/usb-usbfs-properly-clean-up-the-as-structure-on-error-paths.patch deleted file mode 100644 index 9795c76c7171b1..00000000000000 --- a/usb.current/usb-usbfs-properly-clean-up-the-as-structure-on-error-paths.patch +++ /dev/null @@ -1,123 +0,0 @@ -From torvalds@linux-foundation.org Tue Feb 16 12:35:42 2010 -From: Linus Torvalds <torvalds@linux-foundation.org> -Date: Tue, 16 Feb 2010 12:35:07 -0800 (PST) -Subject: USB: usbfs: properly clean up the as structure on error paths -To: gregkh@suse.de -Cc: greg@kroah.com, meissner@suse.de, stable@kernel.org, stern@rowland.harvard.edu -Message-ID: <alpine.LFD.2.00.1002161225170.4141@localhost.localdomain> - -From: Linus Torvalds <torvalds@linux-foundation.org> - -I notice that the processcompl_compat() function seems to be leaking the -'struct async *as' in the error paths. - -I think that the calling convention is fundamentally buggered. The -caller is the one that did the "reap_as()" to get the as thing, the -caller should be the one to free it too. - -Freeing it in the caller also means that it very clearly always gets -freed, and avoids the need for any "free in the error case too". - -From: Linus Torvalds <torvalds@linux-foundation.org> -Cc: Alan Stern <stern@rowland.harvard.edu> -Cc: Marcus Meissner <meissner@suse.de> -Cc: stable <stable@kernel.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/core/devio.c | 40 ++++++++++++++++++++++++++-------------- - 1 file changed, 26 insertions(+), 14 deletions(-) - ---- a/drivers/usb/core/devio.c -+++ b/drivers/usb/core/devio.c -@@ -1334,14 +1334,11 @@ static int processcompl(struct async *as - } - } - -- free_async(as); -- - if (put_user(addr, (void __user * __user *)arg)) - return -EFAULT; - return 0; - - err_out: -- free_async(as); - return -EFAULT; - } - -@@ -1371,8 +1368,11 @@ static struct async *reap_as(struct dev_ - static int proc_reapurb(struct dev_state *ps, void __user *arg) - { - struct async *as = reap_as(ps); -- if (as) -- return processcompl(as, (void __user * __user *)arg); -+ if (as) { -+ int retval = processcompl(as, (void __user * __user *)arg); -+ free_async(as); -+ return retval; -+ } - if (signal_pending(current)) - return -EINTR; - return -EIO; -@@ -1380,11 +1380,16 @@ static int proc_reapurb(struct dev_state - - static int proc_reapurbnonblock(struct dev_state *ps, void __user *arg) - { -+ int retval; - struct async *as; - -- if (!(as = async_getcompleted(ps))) -- return -EAGAIN; -- return processcompl(as, (void __user * __user *)arg); -+ as = async_getcompleted(ps); -+ retval = -EAGAIN; -+ if (as) { -+ retval = processcompl(as, (void __user * __user *)arg); -+ free_async(as); -+ } -+ return retval; - } - - #ifdef CONFIG_COMPAT -@@ -1497,7 +1502,6 @@ static int processcompl_compat(struct as - } - } - -- free_async(as); - if (put_user(ptr_to_compat(addr), (u32 __user *)arg)) - return -EFAULT; - return 0; -@@ -1506,8 +1510,11 @@ static int processcompl_compat(struct as - static int proc_reapurb_compat(struct dev_state *ps, void __user *arg) - { - struct async *as = reap_as(ps); -- if (as) -- return processcompl_compat(as, (void __user * __user *)arg); -+ if (as) { -+ int retval = processcompl_compat(as, (void __user * __user *)arg); -+ free_async(as); -+ return retval; -+ } - if (signal_pending(current)) - return -EINTR; - return -EIO; -@@ -1515,11 +1522,16 @@ static int proc_reapurb_compat(struct de - - static int proc_reapurbnonblock_compat(struct dev_state *ps, void __user *arg) - { -+ int retval; - struct async *as; - -- if (!(as = async_getcompleted(ps))) -- return -EAGAIN; -- return processcompl_compat(as, (void __user * __user *)arg); -+ retval = -EAGAIN; -+ as = async_getcompleted(ps); -+ if (as) { -+ retval = processcompl_compat(as, (void __user * __user *)arg); -+ free_async(as); -+ } -+ return retval; - } - - |
