ChangeSet 1.1455.1.41, 2003/07/17 14:46:56-07:00, [EMAIL PROTECTED]
[PATCH] USB: unlink interrupt URBs in scanner driver
Clean up irq urb when not enough memory is available.
drivers/usb/image/scanner.c | 7 +++++++
1 files changed, 7 insertions(+)
diff -Nru a/drivers/usb/image/scanner.c b/drivers/usb/image/scanner.c
--- a/drivers/usb/image/scanner.c Thu Jul 17 17:03:20 2003
+++ b/drivers/usb/image/scanner.c Thu Jul 17 17:03:20 2003
@@ -367,6 +367,7 @@
* 0.4.14 2003-07-15
* - Fixed race between open and probe (Oliver Neukum).
* - Added vendor/product ids for Avision, Canon, HP, Microtek and Relisys
scanners.
+ * - Clean up irq urb when not enough memory is available.
*
* TODO
* - Performance
@@ -1072,6 +1073,9 @@
/* Ok, now initialize all the relevant values */
if (!(scn->obuf = (char *)kmalloc(OBUF_SIZE, GFP_KERNEL))) {
err("probe_scanner(%d): Not enough memory for the output buffer.",
intf->minor);
+ if (have_intr)
+ usb_unlink_urb(scn->scn_irq);
+ usb_free_urb(scn->scn_irq);
kfree(scn);
up(&scn_mutex);
return -ENOMEM;
@@ -1080,6 +1084,9 @@
if (!(scn->ibuf = (char *)kmalloc(IBUF_SIZE, GFP_KERNEL))) {
err("probe_scanner(%d): Not enough memory for the input buffer.",
intf->minor);
+ if (have_intr)
+ usb_unlink_urb(scn->scn_irq);
+ usb_free_urb(scn->scn_irq);
kfree(scn->obuf);
kfree(scn);
up(&scn_mutex);
-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the
same time. Free trial click here: http://www.vmware.com/wl/offer/345/0
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel