Commit 1105a13b authored by Alexey Khoroshilov's avatar Alexey Khoroshilov Committed by John W. Linville

orinoco_usb: fix memory leak in ezusb_access_ltv() when device disconnected

If "device is disconnected" check occurs to be true in ezusb_access_ltv(),
it just return -ENODEV. But that means request_context is leaked since
there are no any references to it anymore.
The patch adds a call to ezusb_request_context_put() before return.

Found by Linux Driver Verification project (linuxtesting.org).
Signed-off-by: default avatarAlexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 9b60b64b
...@@ -881,7 +881,8 @@ static int ezusb_access_ltv(struct ezusb_priv *upriv, ...@@ -881,7 +881,8 @@ static int ezusb_access_ltv(struct ezusb_priv *upriv,
if (!upriv->udev) { if (!upriv->udev) {
dbg("Device disconnected"); dbg("Device disconnected");
return -ENODEV; retval = -ENODEV;
goto exit;
} }
if (upriv->read_urb->status != -EINPROGRESS) if (upriv->read_urb->status != -EINPROGRESS)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment