Lines Matching refs:ud
456 if (vhci_hcd->vdev[rhport].ud.status == in vhci_hub_control()
461 vhci_hcd->vdev[rhport].ud.status); in vhci_hub_control()
668 usbip_event_add(&vdev->ud, VDEV_EVENT_ERROR_MALLOC); in vhci_tx_urb()
717 spin_lock(&vdev->ud.lock); in vhci_urb_enqueue()
718 if (vdev->ud.status == VDEV_ST_NULL || in vhci_urb_enqueue()
719 vdev->ud.status == VDEV_ST_ERROR) { in vhci_urb_enqueue()
721 spin_unlock(&vdev->ud.lock); in vhci_urb_enqueue()
725 spin_unlock(&vdev->ud.lock); in vhci_urb_enqueue()
760 spin_lock(&vdev->ud.lock); in vhci_urb_enqueue()
761 vdev->ud.status = VDEV_ST_USED; in vhci_urb_enqueue()
762 spin_unlock(&vdev->ud.lock); in vhci_urb_enqueue()
885 if (!vdev->ud.tcp_socket) { in vhci_urb_dequeue()
917 usbip_event_add(&vdev->ud, VDEV_EVENT_ERROR_MALLOC); in vhci_urb_dequeue()
1002 static void vhci_shutdown_connection(struct usbip_device *ud) in vhci_shutdown_connection() argument
1004 struct vhci_device *vdev = container_of(ud, struct vhci_device, ud); in vhci_shutdown_connection()
1007 if (ud->tcp_socket) { in vhci_shutdown_connection()
1008 pr_debug("shutdown tcp_socket %d\n", ud->sockfd); in vhci_shutdown_connection()
1009 kernel_sock_shutdown(ud->tcp_socket, SHUT_RDWR); in vhci_shutdown_connection()
1013 if (vdev->ud.tcp_rx) { in vhci_shutdown_connection()
1014 kthread_stop_put(vdev->ud.tcp_rx); in vhci_shutdown_connection()
1015 vdev->ud.tcp_rx = NULL; in vhci_shutdown_connection()
1017 if (vdev->ud.tcp_tx) { in vhci_shutdown_connection()
1018 kthread_stop_put(vdev->ud.tcp_tx); in vhci_shutdown_connection()
1019 vdev->ud.tcp_tx = NULL; in vhci_shutdown_connection()
1024 if (vdev->ud.tcp_socket) { in vhci_shutdown_connection()
1025 sockfd_put(vdev->ud.tcp_socket); in vhci_shutdown_connection()
1026 vdev->ud.tcp_socket = NULL; in vhci_shutdown_connection()
1027 vdev->ud.sockfd = -1; in vhci_shutdown_connection()
1058 static void vhci_device_reset(struct usbip_device *ud) in vhci_device_reset() argument
1060 struct vhci_device *vdev = container_of(ud, struct vhci_device, ud); in vhci_device_reset()
1063 spin_lock_irqsave(&ud->lock, flags); in vhci_device_reset()
1071 if (ud->tcp_socket) { in vhci_device_reset()
1072 sockfd_put(ud->tcp_socket); in vhci_device_reset()
1073 ud->tcp_socket = NULL; in vhci_device_reset()
1074 ud->sockfd = -1; in vhci_device_reset()
1076 ud->status = VDEV_ST_NULL; in vhci_device_reset()
1078 spin_unlock_irqrestore(&ud->lock, flags); in vhci_device_reset()
1081 static void vhci_device_unusable(struct usbip_device *ud) in vhci_device_unusable() argument
1085 spin_lock_irqsave(&ud->lock, flags); in vhci_device_unusable()
1086 ud->status = VDEV_ST_ERROR; in vhci_device_unusable()
1087 spin_unlock_irqrestore(&ud->lock, flags); in vhci_device_unusable()
1094 vdev->ud.side = USBIP_VHCI; in vhci_device_init()
1095 vdev->ud.status = VDEV_ST_NULL; in vhci_device_init()
1096 spin_lock_init(&vdev->ud.lock); in vhci_device_init()
1106 vdev->ud.eh_ops.shutdown = vhci_shutdown_connection; in vhci_device_init()
1107 vdev->ud.eh_ops.reset = vhci_device_reset; in vhci_device_init()
1108 vdev->ud.eh_ops.unusable = vhci_device_unusable; in vhci_device_init()
1110 usbip_start_eh(&vdev->ud); in vhci_device_init()
1224 usbip_event_add(&vdev->ud, VDEV_EVENT_REMOVED); in vhci_stop()
1225 usbip_stop_eh(&vdev->ud); in vhci_stop()