drivers/staging/vt6656/main_usb.c: Delete unnecessary call to usb_kill_urb
authorJulia Lawall <julia@diku.dk>
Fri, 13 May 2011 15:48:41 +0000 (17:48 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 17 May 2011 18:37:57 +0000 (11:37 -0700)
commit17fb76165f307f7be2cfbc93958356fe50fa4791
tree9f7903607e16c01f670f1a20ac8b354663734fdb
parent7ed2911c8f727077249fc5170a1ab842465aef21
drivers/staging/vt6656/main_usb.c: Delete unnecessary call to usb_kill_urb

Since in each case nothing has been done with the recently allocated urb,
it is not necessary to kill it before freeing it.

The semantic patch that fixes this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r exists@
expression urb;
statement S;
position p1,p2;
@@

urb = usb_alloc_urb@p1(...);
... when != urb
if (urb == NULL) S
... when != urb
usb_kill_urb@p2(urb);

@other exists@
position r.p1,r.p2;
@@

... when != usb_alloc_urb@p1(...)
usb_kill_urb@p2(...);

@depends on !other exists@
expression urb;
position r.p1,r.p2;
@@

urb = usb_alloc_urb@p1(...);
...
(
-usb_kill_urb@p2(urb);
+usb_free_urb(urb);
... when != urb
|
-usb_kill_urb@p2(urb);
)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/vt6656/main_usb.c