Lines Matching refs:vdev
16 struct vhci_device *vdev = priv->vdev; in setup_cmd_submit_pdu() local
19 usb_pipedevice(urb->pipe), vdev->devid); in setup_cmd_submit_pdu()
23 pdup->base.devid = vdev->devid; in setup_cmd_submit_pdu()
34 static struct vhci_priv *dequeue_from_priv_tx(struct vhci_device *vdev) in dequeue_from_priv_tx() argument
39 spin_lock_irqsave(&vdev->priv_lock, flags); in dequeue_from_priv_tx()
41 list_for_each_entry_safe(priv, tmp, &vdev->priv_tx, list) { in dequeue_from_priv_tx()
42 list_move_tail(&priv->list, &vdev->priv_rx); in dequeue_from_priv_tx()
43 spin_unlock_irqrestore(&vdev->priv_lock, flags); in dequeue_from_priv_tx()
47 spin_unlock_irqrestore(&vdev->priv_lock, flags); in dequeue_from_priv_tx()
52 static int vhci_send_cmd_submit(struct vhci_device *vdev) in vhci_send_cmd_submit() argument
67 while ((priv = dequeue_from_priv_tx(vdev)) != NULL) { in vhci_send_cmd_submit()
87 usbip_event_add(&vdev->ud, SDEV_EVENT_ERROR_MALLOC); in vhci_send_cmd_submit()
128 usbip_event_add(&vdev->ud, in vhci_send_cmd_submit()
139 ret = kernel_sendmsg(vdev->ud.tcp_socket, &msg, iov, iovnum, in vhci_send_cmd_submit()
144 usbip_event_add(&vdev->ud, VDEV_EVENT_ERROR_TCP); in vhci_send_cmd_submit()
169 static struct vhci_unlink *dequeue_from_unlink_tx(struct vhci_device *vdev) in dequeue_from_unlink_tx() argument
174 spin_lock_irqsave(&vdev->priv_lock, flags); in dequeue_from_unlink_tx()
176 list_for_each_entry_safe(unlink, tmp, &vdev->unlink_tx, list) { in dequeue_from_unlink_tx()
177 list_move_tail(&unlink->list, &vdev->unlink_rx); in dequeue_from_unlink_tx()
178 spin_unlock_irqrestore(&vdev->priv_lock, flags); in dequeue_from_unlink_tx()
182 spin_unlock_irqrestore(&vdev->priv_lock, flags); in dequeue_from_unlink_tx()
187 static int vhci_send_cmd_unlink(struct vhci_device *vdev) in vhci_send_cmd_unlink() argument
196 while ((unlink = dequeue_from_unlink_tx(vdev)) != NULL) { in vhci_send_cmd_unlink()
209 pdu_header.base.devid = vdev->devid; in vhci_send_cmd_unlink()
219 ret = kernel_sendmsg(vdev->ud.tcp_socket, &msg, &iov, 1, txsize); in vhci_send_cmd_unlink()
223 usbip_event_add(&vdev->ud, VDEV_EVENT_ERROR_TCP); in vhci_send_cmd_unlink()
238 struct vhci_device *vdev = container_of(ud, struct vhci_device, ud); in vhci_tx_loop() local
241 if (vhci_send_cmd_submit(vdev) < 0) in vhci_tx_loop()
244 if (vhci_send_cmd_unlink(vdev) < 0) in vhci_tx_loop()
247 wait_event_interruptible(vdev->waitq_tx, in vhci_tx_loop()
248 (!list_empty(&vdev->priv_tx) || in vhci_tx_loop()
249 !list_empty(&vdev->unlink_tx) || in vhci_tx_loop()