Fix urb and transfer-buffer leaks in an urb-submission error path which
may be hit when a device is disconnected.

Fixes: 66e89522aff7 ("V4L/DVB: IR: add mceusb IR receiver driver")
Cc: stable <sta...@vger.kernel.org>     # 2.6.36
Cc: Jarod Wilson <ja...@redhat.com>
Signed-off-by: Johan Hovold <jo...@kernel.org>
---
 drivers/media/rc/mceusb.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/media/rc/mceusb.c b/drivers/media/rc/mceusb.c
index 93b16fe3ab38..0a16bd34ee4e 100644
--- a/drivers/media/rc/mceusb.c
+++ b/drivers/media/rc/mceusb.c
@@ -766,6 +766,8 @@ static void mce_request_packet(struct mceusb_dev *ir, 
unsigned char *data,
        res = usb_submit_urb(async_urb, GFP_ATOMIC);
        if (res) {
                dev_err(dev, "receive request FAILED! (res=%d)", res);
+               kfree(async_buf);
+               usb_free_urb(async_urb);
                return;
        }
        dev_dbg(dev, "receive request complete (res=%d)", res);
-- 
2.13.0

Reply via email to