Oliver --

Thanks.

-- Al

> Hi,

> usb_unlink_urb() is asynchronous, therefore an URB's buffer may not
> be freed without waiting for the completion handler. This patch switches
> to usb_kill_urb(), which is synchronous.
> Thanks to Alan for making me look at the remaining users of usb_unlink_urb()
> 
>       Regards
>               Oliver

Signed-off-by: Oliver Neukum <[EMAIL PROTECTED]>
Signed-off-by: Al Borchers <[EMAIL PROTECTED]>
-- 

--- a/drivers/usb/serial/io_edgeport.c  2007-06-13 18:35:25.000000000 +0200
+++ b/drivers/usb/serial/io_edgeport.c  2007-06-13 18:36:04.000000000 +0200
@@ -3046,11 +3046,11 @@ static void edge_shutdown (struct usb_se
        }
        /* free up our endpoint stuff */
        if (edge_serial->is_epic) {
-               usb_unlink_urb(edge_serial->interrupt_read_urb);
+               usb_kill_urb(edge_serial->interrupt_read_urb);
                usb_free_urb(edge_serial->interrupt_read_urb);
                kfree(edge_serial->interrupt_in_buffer);
 
-               usb_unlink_urb(edge_serial->read_urb);
+               usb_kill_urb(edge_serial->read_urb);
                usb_free_urb(edge_serial->read_urb);
                kfree(edge_serial->bulk_in_buffer);
        }

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to