diff --git a/repos/dde_linux/src/drivers/usb_modem/main.cc b/repos/dde_linux/src/drivers/usb_modem/main.cc index 490a8c291a..9f295bb45f 100644 --- a/repos/dde_linux/src/drivers/usb_modem/main.cc +++ b/repos/dde_linux/src/drivers/usb_modem/main.cc @@ -199,6 +199,11 @@ Driver::Device::~Device() { driver.devices.remove(&le); if (udev) unregister_device(); + + while (usb.source()->ack_avail()) { + Usb::Packet_descriptor p = usb.source()->get_acked_packet(); + usb.source()->release_packet(p); + } }