/* Performs common cleanup for non-periodic transfers after a Transfer Complete interrupt. This function should be called after any endpoint type specific handling is finished to release the host channel.  */
static void dwc2_complete_non_periodic_xfer(struct dwc2_hsotg *hsotg, struct dwc2_host_chan *chan, int chnum, struct dwc2_qtd *qtd, enum dwc2_halt_status halt_status)
/* Performs common cleanup for non-periodic transfers after a Transfer Complete interrupt. This function should be called after any endpoint type specific handling is finished to release the host channel.  */
static void dwc2_complete_non_periodic_xfer(struct dwc2_hsotg *hsotg, struct dwc2_host_chan *chan, int chnum, struct dwc2_qtd *qtd, enum dwc2_halt_status halt_status)
{
	dev_vdbg(hsotg->dev, "%s()\n", __func__);
	qtd->error_count = 0;
	if (chan->hcint & HCINTMSK_NYET) {
		dev_vdbg(hsotg->dev, "got NYET\n");
		chan->qh->ping_state = 1;
	}
	if (chan->ep_is_in) {
		dwc2_halt_channel(hsotg, chan, qtd, halt_status);
	} else {
		dwc2_release_channel(hsotg, chan, qtd, halt_status);
	}
}