diff options
author | Jiri Slaby <jirislaby@gmail.com> | 2009-03-11 21:47:36 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-03-17 14:01:28 -0700 |
commit | eeafa64b7a4134da24d48ed944e48541f8171152 (patch) | |
tree | 72b750a2147ad0440995fca3fad25c01b3c07222 /drivers/usb/atm/cxacru.c | |
parent | c497e715f93d148d751c055401568684eea0bf6b (diff) | |
download | linux-3.10-eeafa64b7a4134da24d48ed944e48541f8171152.tar.gz linux-3.10-eeafa64b7a4134da24d48ed944e48541f8171152.tar.bz2 linux-3.10-eeafa64b7a4134da24d48ed944e48541f8171152.zip |
USB: atm/cxacru, fix lock imbalance
We do not hold mutex in one place in cxacru_cm, but unlock it on fail path.
Fix this.
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Cc: Simon Arlott <cxacru@fire.lp0.eu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/atm/cxacru.c')
-rw-r--r-- | drivers/usb/atm/cxacru.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/atm/cxacru.c b/drivers/usb/atm/cxacru.c index 5ed4ae07bac..6789089e246 100644 --- a/drivers/usb/atm/cxacru.c +++ b/drivers/usb/atm/cxacru.c @@ -485,7 +485,7 @@ static int cxacru_cm(struct cxacru_data *instance, enum cxacru_cm_request cm, usb_err(instance->usbatm, "requested transfer size too large (%d, %d)\n", wbuflen, rbuflen); ret = -ENOMEM; - goto fail; + goto err; } mutex_lock(&instance->cm_serialize); @@ -565,6 +565,7 @@ static int cxacru_cm(struct cxacru_data *instance, enum cxacru_cm_request cm, dbg("cm %#x", cm); fail: mutex_unlock(&instance->cm_serialize); +err: return ret; } |