diff --git a/repos/dde_linux/src/drivers/usb_net/main.cc b/repos/dde_linux/src/drivers/usb_net/main.cc index 2e2e740740..f83f2f1e60 100644 --- a/repos/dde_linux/src/drivers/usb_net/main.cc +++ b/repos/dde_linux/src/drivers/usb_net/main.cc @@ -182,6 +182,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); + } }