Lines Matching refs:ad
665 struct accept_wait_data *ad = sk->sk_user_data; in drbd_incoming_connection() local
668 state_change = ad->original_sk_state_change; in drbd_incoming_connection()
670 complete(&ad->door_bell); in drbd_incoming_connection()
674 static int prepare_listen_socket(struct drbd_connection *connection, struct accept_wait_data *ad) in prepare_listen_socket() argument
711 ad->s_listen = s_listen; in prepare_listen_socket()
713 ad->original_sk_state_change = s_listen->sk->sk_state_change; in prepare_listen_socket()
715 s_listen->sk->sk_user_data = ad; in prepare_listen_socket()
737 static void unregister_state_change(struct sock *sk, struct accept_wait_data *ad) in unregister_state_change() argument
740 sk->sk_state_change = ad->original_sk_state_change; in unregister_state_change()
745 …ruct socket *drbd_wait_for_connect(struct drbd_connection *connection, struct accept_wait_data *ad) in drbd_wait_for_connect() argument
764 err = wait_for_completion_interruptible_timeout(&ad->door_bell, timeo); in drbd_wait_for_connect()
768 err = kernel_accept(ad->s_listen, &s_estab, 0); in drbd_wait_for_connect()
777 unregister_state_change(s_estab->sk, ad); in drbd_wait_for_connect()
910 struct accept_wait_data ad = { in conn_connect() local
912 .door_bell = COMPLETION_INITIALIZER_ONSTACK(ad.door_bell), in conn_connect()
931 if (prepare_listen_socket(connection, &ad)) in conn_connect()
956 s = drbd_wait_for_connect(connection, &ad); in conn_connect()
1002 if (ad.s_listen) in conn_connect()
1003 sock_release(ad.s_listen); in conn_connect()
1114 if (ad.s_listen) in conn_connect()
1115 sock_release(ad.s_listen); in conn_connect()