libpayload/drivers/usb: Fix leaks

Don't leak buffers on device detach.

Tested on qemu using:
qemu-system-x86_64 -bios build/coreboot.rom -M pc -m 2048 -usb \
 -device usb-ehci,id=ehci -device usb-mouse -device usb-audio,bus=usb-bus.0 \
 -device usb-bt-dongle,bus=usb-bus.0 -device usb-kbd

Change-Id: Ib2d80dd4590aa0dacdf2da3b614c6505c931d0be
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-on: https://review.coreboot.org/23689
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
This commit is contained in:
Patrick Rudolph
2018-02-10 12:03:58 +01:00
committed by Nico Huber
parent d5a70bdfd5
commit 1fea734e54
3 changed files with 12 additions and 3 deletions

View File

@@ -32,8 +32,6 @@
static void
usb_nop_destroy (usbdev_t *dev)
{
if (dev->descriptor != 0)
free (dev->descriptor);
usb_nop_init (dev);
dev->address = -1;
dev->hub = -1;
@@ -49,7 +47,8 @@ usb_nop_poll (usbdev_t *dev)
void
usb_nop_init (usbdev_t *dev)
{
dev->descriptor = 0;
dev->descriptor = NULL;
dev->configuration = NULL;
dev->destroy = usb_nop_destroy;
dev->poll = usb_nop_poll;
}