usb: writing_usb_driver free urb cleanup
Mariusz Kozlowski [Wed, 8 Nov 2006 14:33:38 +0000 (15:33 +0100)]
Allright. As Greg KH suggested I split this big patch into smaller ones to
make the changes easier to review. Having no better idea how to split that I
split it on a 'patch per file' basis. All those patches clean redundant 'if' before
usb_unlink/free/kill_urb():

if (urb)
usb_free_urb(urb); /* unlink / free / kill */

I decided not to touch bigger 'if's like

if (urb) {
usb_kill_urb(urb);
usb_free_urb(urb);
urb = NULL;
}

as that would be probably too intrusive. One of patches also fixes
drivers/usb/misc/auerswald.c memleak I found when digging the code. All those
patches are against 2.6.19-rc4.

Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

Documentation/DocBook/writing_usb_driver.tmpl

index 07cd34c..d4188d4 100644 (file)
@@ -345,8 +345,7 @@ static inline void skel_delete (struct usb_skel *dev)
         usb_buffer_free (dev->udev, dev->bulk_out_size,
             dev->bulk_out_buffer,
             dev->write_urb->transfer_dma);
-    if (dev->write_urb != NULL)
-        usb_free_urb (dev->write_urb);
+    usb_free_urb (dev->write_urb);
     kfree (dev);
 }
   </programlisting>