Commit 9dce447a authored by Mariusz Kozlowski's avatar Mariusz Kozlowski Committed by Linus Torvalds

[PATCH] usb: ati remote memleak fix

This is a bug.  When checking for ati_remote->outbuf we free freeing
ati_remote->inbuf so we end up freeing ati_remote->inbuf twice.

Also the checks for 'ati_remote->inbuf != NULL' and 'ati_remote->outbuf !=
NULL' are redundant as usb_buffer_free() does this.
Signed-off-by: default avatarMariusz Kozlowski <m.kozlowski@tuxland.pl>
Acked-by: default avatarGreg KH <greg@kroah.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent cfd3ef23
...@@ -636,13 +636,11 @@ static void ati_remote_free_buffers(struct ati_remote *ati_remote) ...@@ -636,13 +636,11 @@ static void ati_remote_free_buffers(struct ati_remote *ati_remote)
if (ati_remote->out_urb) if (ati_remote->out_urb)
usb_free_urb(ati_remote->out_urb); usb_free_urb(ati_remote->out_urb);
if (ati_remote->inbuf)
usb_buffer_free(ati_remote->udev, DATA_BUFSIZE, usb_buffer_free(ati_remote->udev, DATA_BUFSIZE,
ati_remote->inbuf, ati_remote->inbuf_dma); ati_remote->inbuf, ati_remote->inbuf_dma);
if (ati_remote->outbuf)
usb_buffer_free(ati_remote->udev, DATA_BUFSIZE, usb_buffer_free(ati_remote->udev, DATA_BUFSIZE,
ati_remote->inbuf, ati_remote->outbuf_dma); ati_remote->outbuf, ati_remote->outbuf_dma);
} }
static void ati_remote_input_init(struct ati_remote *ati_remote) static void ati_remote_input_init(struct ati_remote *ati_remote)
......
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