diff options
author | Julia Lawall <Julia.Lawall@lip6.fr> | 2012-07-24 11:06:10 -0400 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2012-09-04 13:58:16 -0400 |
commit | 5fdb4505f65227c127092772ccf9d460d69f4bc2 (patch) | |
tree | 7e673f571b22c7e10ba1d65891dfb2c50899816f /drivers/mmc/host/vub300.c | |
parent | 4ee7ed0de9929f6f194d7a0ae867371ea47866fe (diff) |
mmc: vub300: add missing usb_free_urb
Add missing usb_free_urb on failure path after usb_alloc_urb.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@km exists@
local idexpression e;
expression e1,e2,e3;
type T,T1;
identifier f;
@@
* e = usb_alloc_urb(...)
... when any
when != e = e1
when != e1 = (T)e
when != e1(...,(T)e,...)
when != &e->f
if(...) { ... when != e2(...,(T1)e,...)
when != e3 = e
when forall
(
return <+...e...+>;
|
* return ...;
) }
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers/mmc/host/vub300.c')
-rw-r--r-- | drivers/mmc/host/vub300.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/mmc/host/vub300.c b/drivers/mmc/host/vub300.c index 3135a1a5d75d..6c39bf1fd279 100644 --- a/drivers/mmc/host/vub300.c +++ b/drivers/mmc/host/vub300.c | |||
@@ -2358,9 +2358,9 @@ error5: | |||
2358 | * which is contained at the end of struct mmc | 2358 | * which is contained at the end of struct mmc |
2359 | */ | 2359 | */ |
2360 | error4: | 2360 | error4: |
2361 | usb_free_urb(command_out_urb); | ||
2362 | error1: | ||
2363 | usb_free_urb(command_res_urb); | 2361 | usb_free_urb(command_res_urb); |
2362 | error1: | ||
2363 | usb_free_urb(command_out_urb); | ||
2364 | error0: | 2364 | error0: |
2365 | return retval; | 2365 | return retval; |
2366 | } | 2366 | } |