ChangeSet 1.1760.26.4, 2004/06/23 15:41:08-07:00, [EMAIL PROTECTED]

[PATCH] USB: another error check in acm

I overlooked that setting control lines in open can fail.

  - check for error doing control transfers

Signed-Off-By: Oliver Neukum <[EMAIL PROTECTED]>
Signed-off-by: Vojtech Pavlik <[EMAIL PROTECTED]>
Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>


 drivers/usb/class/cdc-acm.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletion(-)


diff -Nru a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
--- a/drivers/usb/class/cdc-acm.c       2004-06-29 16:26:38 -07:00
+++ b/drivers/usb/class/cdc-acm.c       2004-06-29 16:26:38 -07:00
@@ -293,7 +293,8 @@
                goto bail_out_and_unlink;
        }
 
-       acm_set_control(acm, acm->ctrlout = ACM_CTRL_DTR | ACM_CTRL_RTS);
+       if (0 > acm_set_control(acm, acm->ctrlout = ACM_CTRL_DTR | ACM_CTRL_RTS))
+               goto full_bailout;
 
        /* force low_latency on so that our tty_push actually forces the data through, 
           otherwise it is scheduled, and with high data rates data can get lost. */
@@ -304,6 +305,8 @@
        up(&open_sem);
        return 0;
 
+full_bailout:
+       usb_unlink_urb(acm->readurb);
 bail_out_and_unlink:
        usb_unlink_urb(acm->ctrlurb);
 bail_out:



-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
digital self defense, top technical experts, no vendor pitches,
unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to