Lines Matching refs:vdev

282 			switch (dum->vdev[rhport].speed) {
338 if (dum->vdev[rhport].ud.status ==
343 dum->vdev[rhport].ud.status);
418 if (the_controller->vdev[i].udev == udev)
426 struct vhci_device *vdev = get_vdev(urb->dev);
429 if (!vdev) {
436 usbip_event_add(&vdev->ud, VDEV_EVENT_ERROR_MALLOC);
440 spin_lock(&vdev->priv_lock);
446 priv->vdev = vdev;
451 list_add_tail(&priv->list, &vdev->priv_tx);
453 wake_up(&vdev->waitq_tx);
454 spin_unlock(&vdev->priv_lock);
462 struct vhci_device *vdev;
478 vdev = port_to_vdev(urb->dev->portnum-1);
481 spin_lock(&vdev->ud.lock);
482 if (vdev->ud.status == VDEV_ST_NULL ||
483 vdev->ud.status == VDEV_ST_ERROR) {
484 dev_err(dev, "enqueue for inactive port %d\n", vdev->rhport);
485 spin_unlock(&vdev->ud.lock);
489 spin_unlock(&vdev->ud.lock);
519 ctrlreq->wValue, vdev->rhport);
521 if (vdev->udev)
522 usb_put_dev(vdev->udev);
523 vdev->udev = usb_get_dev(urb->dev);
525 spin_lock(&vdev->ud.lock);
526 vdev->ud.status = VDEV_ST_USED;
527 spin_unlock(&vdev->ud.lock);
542 if (vdev->udev)
543 usb_put_dev(vdev->udev);
544 vdev->udev = usb_get_dev(urb->dev);
622 struct vhci_device *vdev;
647 vdev = priv->vdev;
649 if (!vdev->ud.tcp_socket) {
651 spin_lock(&vdev->priv_lock);
653 pr_info("device %p seems to be disconnected\n", vdev);
658 spin_unlock(&vdev->priv_lock);
678 spin_lock(&vdev->priv_lock);
683 spin_unlock(&vdev->priv_lock);
685 usbip_event_add(&vdev->ud, VDEV_EVENT_ERROR_MALLOC);
695 pr_info("device %p seems to be still connected\n", vdev);
699 list_add_tail(&unlink->list, &vdev->unlink_tx);
700 wake_up(&vdev->waitq_tx);
702 spin_unlock(&vdev->priv_lock);
711 static void vhci_device_unlink_cleanup(struct vhci_device *vdev)
716 spin_lock(&vdev->priv_lock);
718 list_for_each_entry_safe(unlink, tmp, &vdev->unlink_tx, list) {
724 while (!list_empty(&vdev->unlink_rx)) {
727 unlink = list_first_entry(&vdev->unlink_rx, struct vhci_unlink,
733 urb = pickup_urb_and_free_priv(vdev, unlink->unlink_seqnum);
748 spin_unlock(&vdev->priv_lock);
755 spin_lock(&vdev->priv_lock);
760 spin_unlock(&vdev->priv_lock);
771 struct vhci_device *vdev = container_of(ud, struct vhci_device, ud);
780 if (vdev->ud.tcp_rx) {
781 kthread_stop_put(vdev->ud.tcp_rx);
782 vdev->ud.tcp_rx = NULL;
784 if (vdev->ud.tcp_tx) {
785 kthread_stop_put(vdev->ud.tcp_tx);
786 vdev->ud.tcp_tx = NULL;
791 if (vdev->ud.tcp_socket) {
792 sockfd_put(vdev->ud.tcp_socket);
793 vdev->ud.tcp_socket = NULL;
797 vhci_device_unlink_cleanup(vdev);
819 rh_port_disconnect(vdev->rhport);
827 struct vhci_device *vdev = container_of(ud, struct vhci_device, ud);
831 vdev->speed = 0;
832 vdev->devid = 0;
834 if (vdev->udev)
835 usb_put_dev(vdev->udev);
836 vdev->udev = NULL;
854 static void vhci_device_init(struct vhci_device *vdev)
856 memset(vdev, 0, sizeof(*vdev));
858 vdev->ud.side = USBIP_VHCI;
859 vdev->ud.status = VDEV_ST_NULL;
860 spin_lock_init(&vdev->ud.lock);
862 INIT_LIST_HEAD(&vdev->priv_rx);
863 INIT_LIST_HEAD(&vdev->priv_tx);
864 INIT_LIST_HEAD(&vdev->unlink_tx);
865 INIT_LIST_HEAD(&vdev->unlink_rx);
866 spin_lock_init(&vdev->priv_lock);
868 init_waitqueue_head(&vdev->waitq_tx);
870 vdev->ud.eh_ops.shutdown = vhci_shutdown_connection;
871 vdev->ud.eh_ops.reset = vhci_device_reset;
872 vdev->ud.eh_ops.unusable = vhci_device_unusable;
874 usbip_start_eh(&vdev->ud);
888 struct vhci_device *vdev = &vhci->vdev[rhport];
890 vhci_device_init(vdev);
891 vdev->rhport = rhport;
922 struct vhci_device *vdev = &vhci->vdev[rhport];
924 usbip_event_add(&vdev->ud, VDEV_EVENT_REMOVED);
925 usbip_stop_eh(&vdev->ud);