Lines Matching defs:clcsk
252 struct sock *clcsk = smc->clcsock->sk;
254 write_lock_bh(&clcsk->sk_callback_lock);
255 clcsk->sk_user_data = NULL;
257 smc_clcsock_restore_cb(&clcsk->sk_state_change, &smc->clcsk_state_change);
258 smc_clcsock_restore_cb(&clcsk->sk_data_ready, &smc->clcsk_data_ready);
259 smc_clcsock_restore_cb(&clcsk->sk_write_space, &smc->clcsk_write_space);
260 smc_clcsock_restore_cb(&clcsk->sk_error_report, &smc->clcsk_error_report);
262 write_unlock_bh(&clcsk->sk_callback_lock);
828 static void smc_fback_forward_wakeup(struct smc_sock *smc, struct sock *clcsk,
837 wq = rcu_dereference(clcsk->sk_wq);
840 add_wait_queue(sk_sleep(clcsk), &mark.wait_entry);
841 clcsock_callback(clcsk);
842 remove_wait_queue(sk_sleep(clcsk), &mark.wait_entry);
850 static void smc_fback_state_change(struct sock *clcsk)
854 read_lock_bh(&clcsk->sk_callback_lock);
855 smc = smc_clcsock_user_data(clcsk);
857 smc_fback_forward_wakeup(smc, clcsk,
859 read_unlock_bh(&clcsk->sk_callback_lock);
862 static void smc_fback_data_ready(struct sock *clcsk)
866 read_lock_bh(&clcsk->sk_callback_lock);
867 smc = smc_clcsock_user_data(clcsk);
869 smc_fback_forward_wakeup(smc, clcsk,
871 read_unlock_bh(&clcsk->sk_callback_lock);
874 static void smc_fback_write_space(struct sock *clcsk)
878 read_lock_bh(&clcsk->sk_callback_lock);
879 smc = smc_clcsock_user_data(clcsk);
881 smc_fback_forward_wakeup(smc, clcsk,
883 read_unlock_bh(&clcsk->sk_callback_lock);
886 static void smc_fback_error_report(struct sock *clcsk)
890 read_lock_bh(&clcsk->sk_callback_lock);
891 smc = smc_clcsock_user_data(clcsk);
893 smc_fback_forward_wakeup(smc, clcsk,
895 read_unlock_bh(&clcsk->sk_callback_lock);
900 struct sock *clcsk = smc->clcsock->sk;
902 write_lock_bh(&clcsk->sk_callback_lock);
903 clcsk->sk_user_data = (void *)((uintptr_t)smc | SK_USER_DATA_NOCOPY);
905 smc_clcsock_replace_cb(&clcsk->sk_state_change, smc_fback_state_change,
907 smc_clcsock_replace_cb(&clcsk->sk_data_ready, smc_fback_data_ready,
909 smc_clcsock_replace_cb(&clcsk->sk_write_space, smc_fback_write_space,
911 smc_clcsock_replace_cb(&clcsk->sk_error_report, smc_fback_error_report,
914 write_unlock_bh(&clcsk->sk_callback_lock);
2752 struct sock *clcsk = smc_sk(nsk)->clcsock->sk;
2754 lock_sock(clcsk);
2755 if (skb_queue_empty(&clcsk->sk_receive_queue))
2756 sk_wait_data(clcsk, &timeo, NULL);
2757 release_sock(clcsk);