diff --git a/repos/dde_linux/src/lib/lx_emul/usb.c b/repos/dde_linux/src/lib/lx_emul/usb.c index 76270835f9..8d1bc39b2f 100644 --- a/repos/dde_linux/src/lib/lx_emul/usb.c +++ b/repos/dde_linux/src/lib/lx_emul/usb.c @@ -625,6 +625,8 @@ static int fill_isoc_urb(struct usb_device * udev, struct usb_host_endpoint * ep = req->ep & USB_DIR_IN ? udev->ep_in[req->ep & 0xf] : udev->ep_out[req->ep & 0xf]; + if (!ep) + return -ENOENT; *urb = usb_alloc_urb(req->number_of_packets, GFP_KERNEL); if (!*urb)