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>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
c497e715f9
commit
eeafa64b7a
@@ -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",
|
usb_err(instance->usbatm, "requested transfer size too large (%d, %d)\n",
|
||||||
wbuflen, rbuflen);
|
wbuflen, rbuflen);
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
goto fail;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
mutex_lock(&instance->cm_serialize);
|
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);
|
dbg("cm %#x", cm);
|
||||||
fail:
|
fail:
|
||||||
mutex_unlock(&instance->cm_serialize);
|
mutex_unlock(&instance->cm_serialize);
|
||||||
|
err:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user