On 2022-07-18 18:27:51 [-0700], Thinh Nguyen wrote: > diff --git a/drivers/usb/gadget/function/f_tcm.c b/drivers/usb/gadget/function/f_tcm.c > --- a/drivers/usb/gadget/function/f_tcm.c > +++ b/drivers/usb/gadget/function/f_tcm.c > @@ -1278,6 +1278,22 @@ static void usbg_queue_tm_rsp(struct se_cmd *se_cmd) > > static void usbg_aborted_task(struct se_cmd *se_cmd) > { > + struct usbg_cmd *cmd = container_of(se_cmd, struct usbg_cmd, se_cmd); > + struct f_uas *fu = cmd->fu; > + struct uas_stream *stream = cmd->stream; > + int ret = 0; > + > + if (stream->req_out->status == -EINPROGRESS) > + ret = usb_ep_dequeue(fu->ep_out, stream->req_out); > + else if (stream->req_in->status == -EINPROGRESS) > + ret = usb_ep_dequeue(fu->ep_in, stream->req_in); > + else if (stream->req_status->status == -EINPROGRESS) > + ret = usb_ep_dequeue(fu->ep_status, stream->req_status); > + > + if (ret) > + pr_err("Unable to dequeue se_cmd out %p\n", se_cmd); I know I wasn't the best example here. But if you continue to work on that one, if would be nice if you could replace all the pr_err() here with a dev_err() (or so) so it is bound to an actual device and the reader can actually pin point the message to the actually device/ subsystem. I'm not sure if we lack a device or I was extremely lazy. Again, not something you need change now. > + cmd->state = UASP_QUEUE_COMMAND; > } > > static const char *usbg_check_wwn(const char *name) Sebastian