
On 09/08/2015 05:00 AM, Lukasz Majewski wrote:
Hi Stephen,
From: Stephen Warren swarren@nvidia.com
By the time g_dnl_unbind() is run, cdev->config has been set to NULL, so the free() there does nothing, and the config struct is leaked. Equally, struct usb_gadget contains a linked list of config structs, so the code should iterate over them all and free each one, rather than freeing one particular config struct.
composite_unbind() already iterates over the list of config structs, and unlinks each from the linked list. Fix this loop to free() each struct as it's unlinked and otherwise forgotten.
...
Acked-by: Lukasz Majewski l.majewski@samsung.com
Tested-by: Lukasz Majewski l.majewski@samsung.com Test HW: Odroid XU3 - Exynos5433.
Thanks for all the tests/acks.