diff --git a/repos/dde_linux/src/drivers/usb_hid/main.cc b/repos/dde_linux/src/drivers/usb_hid/main.cc index b205d08fd6..8ba614fbf4 100644 --- a/repos/dde_linux/src/drivers/usb_hid/main.cc +++ b/repos/dde_linux/src/drivers/usb_hid/main.cc @@ -155,6 +155,11 @@ Driver::Device::Device(Driver & driver, Label label) Driver::Device::~Device() { driver.devices.remove(&le); + + while (usb.source()->ack_avail()) { + Usb::Packet_descriptor p = usb.source()->get_acked_packet(); + usb.source()->release_packet(p); + } }