Lines Matching refs:ud

339 			if (dum->vdev[rhport].ud.status ==  in vhci_hub_control()
344 dum->vdev[rhport].ud.status); in vhci_hub_control()
437 usbip_event_add(&vdev->ud, VDEV_EVENT_ERROR_MALLOC); in vhci_tx_urb()
482 spin_lock(&vdev->ud.lock); in vhci_urb_enqueue()
483 if (vdev->ud.status == VDEV_ST_NULL || in vhci_urb_enqueue()
484 vdev->ud.status == VDEV_ST_ERROR) { in vhci_urb_enqueue()
486 spin_unlock(&vdev->ud.lock); in vhci_urb_enqueue()
490 spin_unlock(&vdev->ud.lock); in vhci_urb_enqueue()
525 spin_lock(&vdev->ud.lock); in vhci_urb_enqueue()
526 vdev->ud.status = VDEV_ST_USED; in vhci_urb_enqueue()
527 spin_unlock(&vdev->ud.lock); in vhci_urb_enqueue()
650 if (!vdev->ud.tcp_socket) { in vhci_urb_dequeue()
686 usbip_event_add(&vdev->ud, VDEV_EVENT_ERROR_MALLOC); in vhci_urb_dequeue()
770 static void vhci_shutdown_connection(struct usbip_device *ud) in vhci_shutdown_connection() argument
772 struct vhci_device *vdev = container_of(ud, struct vhci_device, ud); in vhci_shutdown_connection()
775 if (ud->tcp_socket) { in vhci_shutdown_connection()
776 pr_debug("shutdown tcp_socket %p\n", ud->tcp_socket); in vhci_shutdown_connection()
777 kernel_sock_shutdown(ud->tcp_socket, SHUT_RDWR); in vhci_shutdown_connection()
781 if (vdev->ud.tcp_rx) { in vhci_shutdown_connection()
782 kthread_stop_put(vdev->ud.tcp_rx); in vhci_shutdown_connection()
783 vdev->ud.tcp_rx = NULL; in vhci_shutdown_connection()
785 if (vdev->ud.tcp_tx) { in vhci_shutdown_connection()
786 kthread_stop_put(vdev->ud.tcp_tx); in vhci_shutdown_connection()
787 vdev->ud.tcp_tx = NULL; in vhci_shutdown_connection()
792 if (vdev->ud.tcp_socket) { in vhci_shutdown_connection()
793 sockfd_put(vdev->ud.tcp_socket); in vhci_shutdown_connection()
794 vdev->ud.tcp_socket = NULL; in vhci_shutdown_connection()
826 static void vhci_device_reset(struct usbip_device *ud) in vhci_device_reset() argument
828 struct vhci_device *vdev = container_of(ud, struct vhci_device, ud); in vhci_device_reset()
830 spin_lock(&ud->lock); in vhci_device_reset()
838 if (ud->tcp_socket) { in vhci_device_reset()
839 sockfd_put(ud->tcp_socket); in vhci_device_reset()
840 ud->tcp_socket = NULL; in vhci_device_reset()
842 ud->status = VDEV_ST_NULL; in vhci_device_reset()
844 spin_unlock(&ud->lock); in vhci_device_reset()
847 static void vhci_device_unusable(struct usbip_device *ud) in vhci_device_unusable() argument
849 spin_lock(&ud->lock); in vhci_device_unusable()
850 ud->status = VDEV_ST_ERROR; in vhci_device_unusable()
851 spin_unlock(&ud->lock); in vhci_device_unusable()
858 vdev->ud.side = USBIP_VHCI; in vhci_device_init()
859 vdev->ud.status = VDEV_ST_NULL; in vhci_device_init()
860 spin_lock_init(&vdev->ud.lock); in vhci_device_init()
870 vdev->ud.eh_ops.shutdown = vhci_shutdown_connection; in vhci_device_init()
871 vdev->ud.eh_ops.reset = vhci_device_reset; in vhci_device_init()
872 vdev->ud.eh_ops.unusable = vhci_device_unusable; in vhci_device_init()
874 usbip_start_eh(&vdev->ud); in vhci_device_init()
924 usbip_event_add(&vdev->ud, VDEV_EVENT_REMOVED); in vhci_stop()
925 usbip_stop_eh(&vdev->ud); in vhci_stop()