Lines Matching refs:unlink
825 * unlink pdu is sent or not, vhci_rx receives a normal return pdu and gives
849 * => notify unlink completeness by giving back the urb
860 * - case 3a). the urb of the unlink request is now in submission.
862 * => after the unlink is completed, send RET_UNLINK.
864 * - case 3b). the urb of the unlink request is not in submission.
897 /* send unlink request here? */
923 struct vhci_unlink *unlink;
928 unlink = kzalloc(sizeof(struct vhci_unlink), GFP_ATOMIC);
929 if (!unlink) {
936 unlink->seqnum = atomic_inc_return(&vhci_hcd->seqnum);
937 if (unlink->seqnum == 0xffff)
940 unlink->unlink_seqnum = priv->seqnum;
944 list_add_tail(&unlink->list, &vdev->unlink_tx);
961 struct vhci_unlink *unlink, *tmp;
967 list_for_each_entry_safe(unlink, tmp, &vdev->unlink_tx, list) {
970 /* give back urb of unsent unlink request */
971 pr_info("unlink cleanup tx %lu\n", unlink->unlink_seqnum);
973 urb = pickup_urb_and_free_priv(vdev, unlink->unlink_seqnum);
975 list_del(&unlink->list);
976 kfree(unlink);
984 list_del(&unlink->list);
994 kfree(unlink);
1000 unlink = list_first_entry(&vdev->unlink_rx, struct vhci_unlink,
1003 /* give back URB of unanswered unlink request */
1004 pr_info("unlink cleanup rx %lu\n", unlink->unlink_seqnum);
1006 urb = pickup_urb_and_free_priv(vdev, unlink->unlink_seqnum);
1009 unlink->unlink_seqnum);
1010 list_del(&unlink->list);
1011 kfree(unlink);
1019 list_del(&unlink->list);
1029 kfree(unlink);