]> git.baikalelectronics.ru Git - kernel.git/commit
usbcore: compare and release one bos descriptor in usb_reset_and_verify_device()
authorXenia Ragiadakou <burzalodowa@gmail.com>
Thu, 29 Aug 2013 18:45:48 +0000 (21:45 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 30 Aug 2013 19:02:08 +0000 (12:02 -0700)
commitcf3ee31952e28c2abe5a942d21afe37e84ebb938
tree0d44a8f7a1f48d61534fec9cdaa0d4b3bbe29cd0
parent7f3f8afd319ac51f227760ee16fc4ea5abd79974
usbcore: compare and release one bos descriptor in usb_reset_and_verify_device()

In usb_reset_and_verify_device(), hub_port_init() allocates a new bos
descriptor to hold the value read by the device. The new bos descriptor
has to be compared with the old one in order to figure out if device 's
firmware has changed in which case the device has to be reenumerated.
In the original code, none of the two descriptors was deallocated leading
to memory leaks.

This patch compares the old bos descriptor with the new one to detect change
in firmware and releases the newly allocated bos descriptor to prevent memory
leak.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
Reported-by: Martin MOKREJS <mmokrejs@gmail.com>
Tested-by: Martin MOKREJS <mmokrejs@gmail.com>
Suggested-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/core/hub.c