Lines Matching refs:epdata

283 	struct ep_data	*epdata = ep->driver_data;
288 epdata->status = req->status;
290 epdata->status = req->actual;
295 * still need dev->lock to use epdata->ep.
298 get_ready_ep (unsigned f_flags, struct ep_data *epdata, bool is_write)
303 if (!mutex_trylock(&epdata->lock))
305 if (epdata->state != STATE_EP_ENABLED &&
306 (!is_write || epdata->state != STATE_EP_READY)) {
307 mutex_unlock(&epdata->lock);
315 val = mutex_lock_interruptible(&epdata->lock);
319 switch (epdata->state) {
331 shortname, epdata, epdata->state);
333 mutex_unlock(&epdata->lock);
338 ep_io (struct ep_data *epdata, void *buf, unsigned len)
343 spin_lock_irq (&epdata->dev->lock);
344 if (likely (epdata->ep != NULL)) {
345 struct usb_request *req = epdata->req;
351 value = usb_ep_queue (epdata->ep, req, GFP_ATOMIC);
354 spin_unlock_irq (&epdata->dev->lock);
359 spin_lock_irq (&epdata->dev->lock);
360 if (likely (epdata->ep != NULL)) {
361 DBG (epdata->dev, "%s i/o interrupted\n",
362 epdata->name);
363 usb_ep_dequeue (epdata->ep, epdata->req);
364 spin_unlock_irq (&epdata->dev->lock);
367 if (epdata->status == -ECONNRESET)
368 epdata->status = -EINTR;
370 spin_unlock_irq (&epdata->dev->lock);
372 DBG (epdata->dev, "endpoint gone\n");
374 epdata->status = -ENODEV;
377 return epdata->status;
440 struct ep_data *epdata;
453 struct ep_data *epdata;
457 epdata = priv->epdata;
458 // spin_lock(&epdata->dev->lock);
459 if (likely(epdata && epdata->ep && priv->req))
460 value = usb_ep_dequeue (epdata->ep, priv->req);
463 // spin_unlock(&epdata->dev->lock);
494 struct ep_data *epdata = priv->epdata;
497 spin_lock(&epdata->dev->lock);
499 priv->epdata = NULL;
515 DBG(epdata->dev, "%s fault %d len %d\n",
525 spin_unlock(&epdata->dev->lock);
526 put_ep(epdata);
531 struct ep_data *epdata,
542 get_ep(epdata);
543 priv->epdata = epdata;
550 spin_lock_irq(&epdata->dev->lock);
552 if (unlikely(epdata->ep == NULL))
555 req = usb_ep_alloc_request(epdata->ep, GFP_ATOMIC);
565 value = usb_ep_queue(epdata->ep, req, GFP_ATOMIC);
567 usb_ep_free_request(epdata->ep, req);
570 spin_unlock_irq(&epdata->dev->lock);
574 spin_unlock_irq(&epdata->dev->lock);
577 put_ep(epdata);
585 struct ep_data *epdata = file->private_data;
590 if ((value = get_ready_ep(file->f_flags, epdata, false)) < 0)
594 if (usb_endpoint_dir_in(&epdata->desc)) {
595 if (usb_endpoint_xfer_isoc(&epdata->desc) ||
597 mutex_unlock(&epdata->lock);
600 DBG (epdata->dev, "%s halt\n", epdata->name);
601 spin_lock_irq(&epdata->dev->lock);
602 if (likely(epdata->ep != NULL))
603 usb_ep_set_halt(epdata->ep);
604 spin_unlock_irq(&epdata->dev->lock);
605 mutex_unlock(&epdata->lock);
611 mutex_unlock(&epdata->lock);
615 value = ep_io(epdata, buf, len);
628 value = ep_aio(iocb, priv, epdata, buf, len);
634 mutex_unlock(&epdata->lock);
644 struct ep_data *epdata = file->private_data;
650 if ((value = get_ready_ep(file->f_flags, epdata, true)) < 0)
653 configured = epdata->state == STATE_EP_ENABLED;
656 if (configured && !usb_endpoint_dir_in(&epdata->desc)) {
657 if (usb_endpoint_xfer_isoc(&epdata->desc) ||
659 mutex_unlock(&epdata->lock);
662 DBG (epdata->dev, "%s halt\n", epdata->name);
663 spin_lock_irq(&epdata->dev->lock);
664 if (likely(epdata->ep != NULL))
665 usb_ep_set_halt(epdata->ep);
666 spin_unlock_irq(&epdata->dev->lock);
667 mutex_unlock(&epdata->lock);
673 mutex_unlock(&epdata->lock);
683 value = ep_config(epdata, buf, len);
685 value = ep_io(epdata, buf, len);
690 value = ep_aio(iocb, priv, epdata, buf, len);
697 mutex_unlock(&epdata->lock);