diff --git a/repos/dde_linux/src/lib/lx_emul/usb.c b/repos/dde_linux/src/lib/lx_emul/usb.c index ce253594e4..9baf549220 100644 --- a/repos/dde_linux/src/lib/lx_emul/usb.c +++ b/repos/dde_linux/src/lib/lx_emul/usb.c @@ -800,6 +800,9 @@ static int raw_notify(struct notifier_block *nb, unsigned long action, void *dat if (data) { data->dev = NULL; lx_emul_task_unblock(data->task); + } else { + /* discontinue unclaimed device */ + genode_usb_discontinue_device(udev->bus->busnum, udev->devnum); } break; }