Snap for 7651834 from 8c9cb160bc
to android12-5.10-keystone-qcom-release
Change-Id: I45550762f38e862a17814597f748f5838ddbbdcf
This commit is contained in:
@@ -218,7 +218,7 @@ out:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dwc3_ep0_stall_and_restart(struct dwc3 *dwc)
|
void dwc3_ep0_stall_and_restart(struct dwc3 *dwc)
|
||||||
{
|
{
|
||||||
struct dwc3_ep *dep;
|
struct dwc3_ep *dep;
|
||||||
|
|
||||||
@@ -1070,7 +1070,7 @@ void dwc3_ep0_send_delayed_status(struct dwc3 *dwc)
|
|||||||
__dwc3_ep0_do_control_status(dwc, dwc->eps[direction]);
|
__dwc3_ep0_do_control_status(dwc, dwc->eps[direction]);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dwc3_ep0_end_control_data(struct dwc3 *dwc, struct dwc3_ep *dep)
|
void dwc3_ep0_end_control_data(struct dwc3 *dwc, struct dwc3_ep *dep)
|
||||||
{
|
{
|
||||||
struct dwc3_gadget_ep_cmd_params params;
|
struct dwc3_gadget_ep_cmd_params params;
|
||||||
u32 cmd;
|
u32 cmd;
|
||||||
|
@@ -2427,7 +2427,11 @@ static int dwc3_gadget_pullup(struct usb_gadget *g, int is_on)
|
|||||||
msecs_to_jiffies(DWC3_PULL_UP_TIMEOUT));
|
msecs_to_jiffies(DWC3_PULL_UP_TIMEOUT));
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
dev_err(dwc->dev, "timed out waiting for SETUP phase\n");
|
dev_err(dwc->dev, "timed out waiting for SETUP phase\n");
|
||||||
return -ETIMEDOUT;
|
spin_lock_irqsave(&dwc->lock, flags);
|
||||||
|
dwc3_ep0_end_control_data(dwc, dwc->eps[0]);
|
||||||
|
dwc3_ep0_end_control_data(dwc, dwc->eps[1]);
|
||||||
|
dwc3_ep0_stall_and_restart(dwc);
|
||||||
|
spin_unlock_irqrestore(&dwc->lock, flags);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -114,6 +114,9 @@ int __dwc3_gadget_ep0_set_halt(struct usb_ep *ep, int value);
|
|||||||
int dwc3_gadget_ep0_set_halt(struct usb_ep *ep, int value);
|
int dwc3_gadget_ep0_set_halt(struct usb_ep *ep, int value);
|
||||||
int dwc3_gadget_ep0_queue(struct usb_ep *ep, struct usb_request *request,
|
int dwc3_gadget_ep0_queue(struct usb_ep *ep, struct usb_request *request,
|
||||||
gfp_t gfp_flags);
|
gfp_t gfp_flags);
|
||||||
|
void dwc3_ep0_stall_and_restart(struct dwc3 *dwc);
|
||||||
|
void dwc3_ep0_end_control_data(struct dwc3 *dwc, struct dwc3_ep *dep);
|
||||||
|
|
||||||
int __dwc3_gadget_ep_set_halt(struct dwc3_ep *dep, int value, int protocol);
|
int __dwc3_gadget_ep_set_halt(struct dwc3_ep *dep, int value, int protocol);
|
||||||
void dwc3_ep0_send_delayed_status(struct dwc3 *dwc);
|
void dwc3_ep0_send_delayed_status(struct dwc3 *dwc);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user