diff --git a/repos/dde_linux/src/lib/lx_emul/virt/shadow/drivers/usb/core/urb.c b/repos/dde_linux/src/lib/lx_emul/virt/shadow/drivers/usb/core/urb.c index 621af9bc84..15e4adaf60 100644 --- a/repos/dde_linux/src/lib/lx_emul/virt/shadow/drivers/usb/core/urb.c +++ b/repos/dde_linux/src/lib/lx_emul/virt/shadow/drivers/usb/core/urb.c @@ -92,6 +92,9 @@ int usb_submit_urb(struct urb *urb, gfp_t mem_flags) int ret = 0; unsigned timeout_jiffies = msecs_to_jiffies(10000u); + if (!urb || !urb->complete) + return -EINVAL; + if (!urb->dev->bus) return -ENODEV;