hid_free_device() doesn't free device->collection (but it does free device->rdesc and device itself). This imposes memory leak. Fix it. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
@@ -543,6 +543,7 @@ void hid_free_device(struct hid_device *device)
}
kfree(device->rdesc);
+ kfree(device->collection);
kfree(device);
EXPORT_SYMBOL_GPL(hid_free_device);