/* Enqueue a request on EP0 if necessary to received any SETUP packets received from the host.  */
static void s3c_hsotg_enqueue_setup(struct s3c_hsotg *hsotg)
/* Enqueue a request on EP0 if necessary to received any SETUP packets received from the host.  */
static void s3c_hsotg_enqueue_setup(struct s3c_hsotg *hsotg)
{
	struct usb_request *req = hsotg->ctrl_req;
	struct s3c_hsotg_req *hs_req = our_req(req);
	int ret;
	dev_dbg(hsotg->dev, "%s: queueing setup request\n", __func__);
	req->zero = 0;
	req->length = 8;
	req->buf = hsotg->ctrl_buff;
	req->complete = s3c_hsotg_complete_setup;
	if (!list_empty(&hs_req->queue)) {
		dev_dbg(hsotg->dev, "%s already queued???\n", __func__);
		return;
	}
	hsotg->eps[0].dir_in = 0;
	ret = s3c_hsotg_ep_queue(&hsotg->eps[0].ep, req, GFP_ATOMIC);
	if (ret < 0) {
		dev_err(hsotg->dev, "%s: failed queue (%d)\n", __func__, ret);
	}
}