Lines Matching defs:sdev

13 /* be in spin_lock_irqsave(&sdev->priv_lock, flags) */
14 void stub_enqueue_ret_unlink(struct stub_device *sdev, __u32 seqnum,
21 usbip_event_add(&sdev->ud, VDEV_EVENT_ERROR_MALLOC);
28 list_add_tail(&unlink->list, &sdev->unlink_tx);
43 struct stub_device *sdev = priv->sdev;
91 spin_lock_irqsave(&sdev->priv_lock, flags);
92 if (sdev->ud.tcp_socket == NULL) {
96 stub_enqueue_ret_unlink(sdev, priv->seqnum, urb->status);
99 list_move_tail(&priv->list, &sdev->priv_tx);
101 spin_unlock_irqrestore(&sdev->priv_lock, flags);
104 wake_up(&sdev->tx_waitq);
132 static struct stub_priv *dequeue_from_priv_tx(struct stub_device *sdev)
137 spin_lock_irqsave(&sdev->priv_lock, flags);
139 list_for_each_entry_safe(priv, tmp, &sdev->priv_tx, list) {
140 list_move_tail(&priv->list, &sdev->priv_free);
141 spin_unlock_irqrestore(&sdev->priv_lock, flags);
145 spin_unlock_irqrestore(&sdev->priv_lock, flags);
150 static int stub_send_ret_submit(struct stub_device *sdev)
160 while ((priv = dequeue_from_priv_tx(sdev)) != NULL) {
177 dev_err(&sdev->udev->dev,
196 usbip_event_add(&sdev->ud, SDEV_EVENT_ERROR_MALLOC);
287 dev_err(&sdev->udev->dev,
292 usbip_event_add(&sdev->ud,
304 usbip_event_add(&sdev->ud,
316 ret = kernel_sendmsg(sdev->ud.tcp_socket, &msg,
319 dev_err(&sdev->udev->dev,
324 usbip_event_add(&sdev->ud, SDEV_EVENT_ERROR_TCP);
334 spin_lock_irqsave(&sdev->priv_lock, flags);
335 list_for_each_entry_safe(priv, tmp, &sdev->priv_free, list) {
338 spin_unlock_irqrestore(&sdev->priv_lock, flags);
343 static struct stub_unlink *dequeue_from_unlink_tx(struct stub_device *sdev)
348 spin_lock_irqsave(&sdev->priv_lock, flags);
350 list_for_each_entry_safe(unlink, tmp, &sdev->unlink_tx, list) {
351 list_move_tail(&unlink->list, &sdev->unlink_free);
352 spin_unlock_irqrestore(&sdev->priv_lock, flags);
356 spin_unlock_irqrestore(&sdev->priv_lock, flags);
361 static int stub_send_ret_unlink(struct stub_device *sdev)
372 while ((unlink = dequeue_from_unlink_tx(sdev)) != NULL) {
391 ret = kernel_sendmsg(sdev->ud.tcp_socket, &msg, iov,
394 dev_err(&sdev->udev->dev,
397 usbip_event_add(&sdev->ud, SDEV_EVENT_ERROR_TCP);
405 spin_lock_irqsave(&sdev->priv_lock, flags);
407 list_for_each_entry_safe(unlink, tmp, &sdev->unlink_free, list) {
412 spin_unlock_irqrestore(&sdev->priv_lock, flags);
420 struct stub_device *sdev = container_of(ud, struct stub_device, ud);
440 if (stub_send_ret_submit(sdev) < 0)
443 if (stub_send_ret_unlink(sdev) < 0)
446 wait_event_interruptible(sdev->tx_waitq,
447 (!list_empty(&sdev->priv_tx) ||
448 !list_empty(&sdev->unlink_tx) ||