diff options
author | Julia Lawall <Julia.Lawall@lip6.fr> | 2012-07-24 17:06:10 +0200 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2012-09-04 13:58:16 -0400 |
commit | 5fdb4505f65227c127092772ccf9d460d69f4bc2 (patch) | |
tree | 7e673f571b22c7e10ba1d65891dfb2c50899816f /drivers | |
parent | 4ee7ed0de9929f6f194d7a0ae867371ea47866fe (diff) | |
download | op-kernel-dev-5fdb4505f65227c127092772ccf9d460d69f4bc2.zip op-kernel-dev-5fdb4505f65227c127092772ccf9d460d69f4bc2.tar.gz |
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')
-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 3135a1a..6c39bf1 100644 --- a/drivers/mmc/host/vub300.c +++ b/drivers/mmc/host/vub300.c @@ -2358,9 +2358,9 @@ error5: * which is contained at the end of struct mmc */ error4: - usb_free_urb(command_out_urb); -error1: usb_free_urb(command_res_urb); +error1: + usb_free_urb(command_out_urb); error0: return retval; } |