Merge "usb: gadget: gsi: Fix incorrect repsonse available notifications"
This commit is contained in:
commit
38cb972517
1 changed files with 10 additions and 7 deletions
|
@ -1550,13 +1550,6 @@ static void gsi_ctrl_notify_resp_complete(struct usb_ep *ep,
|
|||
event->bNotificationType, req->status);
|
||||
/* FALLTHROUGH */
|
||||
case 0:
|
||||
/*
|
||||
* handle multiple pending resp available
|
||||
* notifications by queuing same until we're done,
|
||||
* rest of the notification require queuing new
|
||||
* request.
|
||||
*/
|
||||
gsi_ctrl_send_notification(gsi);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -1651,6 +1644,14 @@ static void gsi_ctrl_reset_cmd_complete(struct usb_ep *ep,
|
|||
gsi_ctrl_send_cpkt_tomodem(gsi, req->buf, 0);
|
||||
}
|
||||
|
||||
static void gsi_ctrl_send_response_complete(struct usb_ep *ep,
|
||||
struct usb_request *req)
|
||||
{
|
||||
struct f_gsi *gsi = req->context;
|
||||
|
||||
gsi_ctrl_send_notification(gsi);
|
||||
}
|
||||
|
||||
static int
|
||||
gsi_setup(struct usb_function *f, const struct usb_ctrlrequest *ctrl)
|
||||
{
|
||||
|
@ -1737,6 +1738,8 @@ gsi_setup(struct usb_function *f, const struct usb_ctrlrequest *ctrl)
|
|||
memcpy(req->buf, cpkt->buf, value);
|
||||
gsi_ctrl_pkt_free(cpkt);
|
||||
|
||||
req->complete = gsi_ctrl_send_response_complete;
|
||||
req->context = gsi;
|
||||
log_event_dbg("copied encap_resp %d bytes",
|
||||
value);
|
||||
break;
|
||||
|
|
Loading…
Add table
Reference in a new issue