Lines Matching refs:clcsk

249 	struct sock *clcsk = smc->clcsock->sk;
251 write_lock_bh(&clcsk->sk_callback_lock);
252 clcsk->sk_user_data = NULL;
254 smc_clcsock_restore_cb(&clcsk->sk_state_change, &smc->clcsk_state_change);
255 smc_clcsock_restore_cb(&clcsk->sk_data_ready, &smc->clcsk_data_ready);
256 smc_clcsock_restore_cb(&clcsk->sk_write_space, &smc->clcsk_write_space);
257 smc_clcsock_restore_cb(&clcsk->sk_error_report, &smc->clcsk_error_report);
259 write_unlock_bh(&clcsk->sk_callback_lock);
819 static void smc_fback_forward_wakeup(struct smc_sock *smc, struct sock *clcsk,
828 wq = rcu_dereference(clcsk->sk_wq);
831 add_wait_queue(sk_sleep(clcsk), &mark.wait_entry);
832 clcsock_callback(clcsk);
833 remove_wait_queue(sk_sleep(clcsk), &mark.wait_entry);
841 static void smc_fback_state_change(struct sock *clcsk)
845 read_lock_bh(&clcsk->sk_callback_lock);
846 smc = smc_clcsock_user_data(clcsk);
848 smc_fback_forward_wakeup(smc, clcsk,
850 read_unlock_bh(&clcsk->sk_callback_lock);
853 static void smc_fback_data_ready(struct sock *clcsk)
857 read_lock_bh(&clcsk->sk_callback_lock);
858 smc = smc_clcsock_user_data(clcsk);
860 smc_fback_forward_wakeup(smc, clcsk,
862 read_unlock_bh(&clcsk->sk_callback_lock);
865 static void smc_fback_write_space(struct sock *clcsk)
869 read_lock_bh(&clcsk->sk_callback_lock);
870 smc = smc_clcsock_user_data(clcsk);
872 smc_fback_forward_wakeup(smc, clcsk,
874 read_unlock_bh(&clcsk->sk_callback_lock);
877 static void smc_fback_error_report(struct sock *clcsk)
881 read_lock_bh(&clcsk->sk_callback_lock);
882 smc = smc_clcsock_user_data(clcsk);
884 smc_fback_forward_wakeup(smc, clcsk,
886 read_unlock_bh(&clcsk->sk_callback_lock);
891 struct sock *clcsk = smc->clcsock->sk;
893 write_lock_bh(&clcsk->sk_callback_lock);
894 clcsk->sk_user_data = (void *)((uintptr_t)smc | SK_USER_DATA_NOCOPY);
896 smc_clcsock_replace_cb(&clcsk->sk_state_change, smc_fback_state_change,
898 smc_clcsock_replace_cb(&clcsk->sk_data_ready, smc_fback_data_ready,
900 smc_clcsock_replace_cb(&clcsk->sk_write_space, smc_fback_write_space,
902 smc_clcsock_replace_cb(&clcsk->sk_error_report, smc_fback_error_report,
905 write_unlock_bh(&clcsk->sk_callback_lock);
2728 struct sock *clcsk = smc_sk(nsk)->clcsock->sk;
2730 lock_sock(clcsk);
2731 if (skb_queue_empty(&clcsk->sk_receive_queue))
2732 sk_wait_data(clcsk, &timeo, NULL);
2733 release_sock(clcsk);