Lines Matching refs:mappass

459 					struct sockpass_mapping *mappass)  in pvcalls_back_release_passive()  argument
461 if (mappass->sock->sk != NULL) { in pvcalls_back_release_passive()
462 write_lock_bh(&mappass->sock->sk->sk_callback_lock); in pvcalls_back_release_passive()
463 mappass->sock->sk->sk_user_data = NULL; in pvcalls_back_release_passive()
464 mappass->sock->sk->sk_data_ready = mappass->saved_data_ready; in pvcalls_back_release_passive()
465 write_unlock_bh(&mappass->sock->sk->sk_callback_lock); in pvcalls_back_release_passive()
467 sock_release(mappass->sock); in pvcalls_back_release_passive()
468 flush_workqueue(mappass->wq); in pvcalls_back_release_passive()
469 destroy_workqueue(mappass->wq); in pvcalls_back_release_passive()
470 kfree(mappass); in pvcalls_back_release_passive()
480 struct sockpass_mapping *mappass; in pvcalls_back_release() local
495 mappass = radix_tree_lookup(&fedata->socketpass_mappings, in pvcalls_back_release()
497 if (mappass != NULL) { in pvcalls_back_release()
498 radix_tree_delete(&fedata->socketpass_mappings, mappass->id); in pvcalls_back_release()
500 ret = pvcalls_back_release_passive(dev, fedata, mappass); in pvcalls_back_release()
515 struct sockpass_mapping *mappass = container_of( in __pvcalls_back_accept() local
527 fedata = mappass->fedata; in __pvcalls_back_accept()
534 spin_lock_irqsave(&mappass->copy_lock, flags); in __pvcalls_back_accept()
535 req = &mappass->reqcopy; in __pvcalls_back_accept()
537 spin_unlock_irqrestore(&mappass->copy_lock, flags); in __pvcalls_back_accept()
540 spin_unlock_irqrestore(&mappass->copy_lock, flags); in __pvcalls_back_accept()
545 sock->type = mappass->sock->type; in __pvcalls_back_accept()
546 sock->ops = mappass->sock->ops; in __pvcalls_back_accept()
548 ret = inet_accept(mappass->sock, sock, O_NONBLOCK, true); in __pvcalls_back_accept()
565 map->sockpass = mappass; in __pvcalls_back_accept()
581 mappass->reqcopy.cmd = 0; in __pvcalls_back_accept()
586 struct sockpass_mapping *mappass = sock->sk_user_data; in pvcalls_pass_sk_data_ready() local
592 if (mappass == NULL) in pvcalls_pass_sk_data_ready()
595 fedata = mappass->fedata; in pvcalls_pass_sk_data_ready()
596 spin_lock_irqsave(&mappass->copy_lock, flags); in pvcalls_pass_sk_data_ready()
597 if (mappass->reqcopy.cmd == PVCALLS_POLL) { in pvcalls_pass_sk_data_ready()
600 rsp->req_id = mappass->reqcopy.req_id; in pvcalls_pass_sk_data_ready()
601 rsp->u.poll.id = mappass->reqcopy.u.poll.id; in pvcalls_pass_sk_data_ready()
602 rsp->cmd = mappass->reqcopy.cmd; in pvcalls_pass_sk_data_ready()
605 mappass->reqcopy.cmd = 0; in pvcalls_pass_sk_data_ready()
606 spin_unlock_irqrestore(&mappass->copy_lock, flags); in pvcalls_pass_sk_data_ready()
610 notify_remote_via_irq(mappass->fedata->irq); in pvcalls_pass_sk_data_ready()
612 spin_unlock_irqrestore(&mappass->copy_lock, flags); in pvcalls_pass_sk_data_ready()
613 queue_work(mappass->wq, &mappass->register_work); in pvcalls_pass_sk_data_ready()
713 struct sockpass_mapping *mappass; in pvcalls_back_accept() local
721 mappass = radix_tree_lookup(&fedata->socketpass_mappings, in pvcalls_back_accept()
724 if (mappass == NULL) in pvcalls_back_accept()
731 spin_lock_irqsave(&mappass->copy_lock, flags); in pvcalls_back_accept()
732 if (mappass->reqcopy.cmd != 0) { in pvcalls_back_accept()
733 spin_unlock_irqrestore(&mappass->copy_lock, flags); in pvcalls_back_accept()
738 mappass->reqcopy = *req; in pvcalls_back_accept()
739 spin_unlock_irqrestore(&mappass->copy_lock, flags); in pvcalls_back_accept()
740 queue_work(mappass->wq, &mappass->register_work); in pvcalls_back_accept()
758 struct sockpass_mapping *mappass; in pvcalls_back_poll() local
769 mappass = radix_tree_lookup(&fedata->socketpass_mappings, in pvcalls_back_poll()
772 if (mappass == NULL) in pvcalls_back_poll()
779 spin_lock_irqsave(&mappass->copy_lock, flags); in pvcalls_back_poll()
780 if (mappass->reqcopy.cmd != 0) { in pvcalls_back_poll()
785 mappass->reqcopy = *req; in pvcalls_back_poll()
786 icsk = inet_csk(mappass->sock->sk); in pvcalls_back_poll()
790 mappass->reqcopy.cmd = 0; in pvcalls_back_poll()
794 spin_unlock_irqrestore(&mappass->copy_lock, flags); in pvcalls_back_poll()
800 spin_unlock_irqrestore(&mappass->copy_lock, flags); in pvcalls_back_poll()
993 struct sockpass_mapping *mappass; in backend_disconnect() local
1007 mappass = radix_tree_deref_slot(slot); in backend_disconnect()
1008 if (!mappass) in backend_disconnect()
1010 if (radix_tree_exception(mappass)) { in backend_disconnect()
1011 if (radix_tree_deref_retry(mappass)) in backend_disconnect()
1015 mappass->id); in backend_disconnect()
1016 pvcalls_back_release_passive(dev, fedata, mappass); in backend_disconnect()