Lines Matching refs:sk
26 struct sock *sk; in smc_close_cleanup_listen() local
29 while ((sk = smc_accept_dequeue(parent, NULL))) in smc_close_cleanup_listen()
30 smc_close_non_accepted(sk); in smc_close_cleanup_listen()
36 struct sock *sk = &smc->sk; in smc_close_wait_tx_pends() local
40 add_wait_queue(sk_sleep(sk), &wait); in smc_close_wait_tx_pends()
44 rc = sk_wait_event(sk, &timeout, in smc_close_wait_tx_pends()
50 remove_wait_queue(sk_sleep(sk), &wait); in smc_close_wait_tx_pends()
57 struct sock *sk = &smc->sk; in smc_close_stream_wait() local
66 add_wait_queue(sk_sleep(sk), &wait); in smc_close_stream_wait()
70 rc = sk_wait_event(sk, &timeout, in smc_close_stream_wait()
72 (sk->sk_err == ECONNABORTED) || in smc_close_stream_wait()
73 (sk->sk_err == ECONNRESET), in smc_close_stream_wait()
78 remove_wait_queue(sk_sleep(sk), &wait); in smc_close_stream_wait()
86 smc->sk.sk_state_change(&smc->sk); in smc_close_wake_tx_prepared()
121 smc->sk.sk_err = ECONNABORTED; in smc_close_active_abort()
122 if (smc->clcsock && smc->clcsock->sk) { in smc_close_active_abort()
123 smc->clcsock->sk->sk_err = ECONNABORTED; in smc_close_active_abort()
124 smc->clcsock->sk->sk_state_change(smc->clcsock->sk); in smc_close_active_abort()
126 switch (smc->sk.sk_state) { in smc_close_active_abort()
129 smc->sk.sk_state = SMC_PEERABORTWAIT; in smc_close_active_abort()
136 smc->sk.sk_state = SMC_PEERABORTWAIT; in smc_close_active_abort()
138 smc->sk.sk_state = SMC_CLOSED; in smc_close_active_abort()
143 smc->sk.sk_state = SMC_PEERABORTWAIT; in smc_close_active_abort()
147 smc->sk.sk_state = SMC_CLOSED; in smc_close_active_abort()
156 smc->sk.sk_state = SMC_CLOSED; in smc_close_active_abort()
164 sock_set_flag(&smc->sk, SOCK_DEAD); in smc_close_active_abort()
165 smc->sk.sk_state_change(&smc->sk); in smc_close_active_abort()
179 struct sock *sk = &smc->sk; in smc_close_active() local
185 0 : sock_flag(sk, SOCK_LINGER) ? in smc_close_active()
186 sk->sk_lingertime : SMC_MAX_STREAM_WAIT_TIMEOUT; in smc_close_active()
189 old_state = sk->sk_state; in smc_close_active()
192 sk->sk_state = SMC_CLOSED; in smc_close_active()
197 sk->sk_state = SMC_CLOSED; in smc_close_active()
198 sk->sk_state_change(sk); /* wake up accept */ in smc_close_active()
199 if (smc->clcsock && smc->clcsock->sk) { in smc_close_active()
202 smc->clcsock->sk->sk_data_ready(smc->clcsock->sk); in smc_close_active()
204 release_sock(sk); in smc_close_active()
205 smc_close_cleanup_listen(sk); in smc_close_active()
207 lock_sock(sk); in smc_close_active()
211 release_sock(sk); in smc_close_active()
213 lock_sock(sk); in smc_close_active()
214 if (sk->sk_state == SMC_ACTIVE) { in smc_close_active()
217 sk->sk_state = SMC_PEERCLOSEWAIT1; in smc_close_active()
230 sk->sk_state = SMC_CLOSED; in smc_close_active()
237 release_sock(sk); in smc_close_active()
239 lock_sock(sk); in smc_close_active()
240 if (sk->sk_err != ECONNABORTED) { in smc_close_active()
248 sk->sk_state = SMC_CLOSED; in smc_close_active()
251 sk->sk_state = SMC_PEERFINCLOSEWAIT; in smc_close_active()
267 release_sock(sk); in smc_close_active()
269 lock_sock(sk); in smc_close_active()
271 sk->sk_state = SMC_CLOSED; in smc_close_active()
280 if (old_state != sk->sk_state) in smc_close_active()
281 sk->sk_state_change(&smc->sk); in smc_close_active()
289 struct sock *sk = &smc->sk; in smc_close_passive_abort_received() local
291 switch (sk->sk_state) { in smc_close_passive_abort_received()
297 sk->sk_state = SMC_PROCESSABORT; in smc_close_passive_abort_received()
305 sk->sk_state = SMC_PROCESSABORT; in smc_close_passive_abort_received()
307 sk->sk_state = SMC_CLOSED; in smc_close_passive_abort_received()
312 sk->sk_state = SMC_CLOSED; in smc_close_passive_abort_received()
331 struct sock *sk = &smc->sk; in smc_close_passive_work() local
334 lock_sock(&smc->sk); in smc_close_passive_work()
335 old_state = sk->sk_state; in smc_close_passive_work()
349 switch (sk->sk_state) { in smc_close_passive_work()
354 sk->sk_state = SMC_APPCLOSEWAIT1; in smc_close_passive_work()
356 sk->sk_state = SMC_CLOSED; in smc_close_passive_work()
359 sk->sk_state = SMC_APPCLOSEWAIT1; in smc_close_passive_work()
363 sk->sk_state = SMC_PEERCLOSEWAIT2; in smc_close_passive_work()
369 if (sock_flag(sk, SOCK_DEAD) && in smc_close_passive_work()
372 sk->sk_state = SMC_CLOSED; in smc_close_passive_work()
375 sk->sk_state = SMC_APPFINCLOSEWAIT; in smc_close_passive_work()
389 sk->sk_data_ready(sk); /* wakeup blocked rcvbuf consumers */ in smc_close_passive_work()
390 sk->sk_write_space(sk); /* wakeup blocked sndbuf producers */ in smc_close_passive_work()
392 if (old_state != sk->sk_state) { in smc_close_passive_work()
393 sk->sk_state_change(sk); in smc_close_passive_work()
394 if ((sk->sk_state == SMC_CLOSED) && in smc_close_passive_work()
395 (sock_flag(sk, SOCK_DEAD) || !sk->sk_socket)) { in smc_close_passive_work()
401 release_sock(&smc->sk); in smc_close_passive_work()
410 smc->sk.sk_prot->unhash(&smc->sk); in smc_close_sock_put_work()
411 sock_put(&smc->sk); in smc_close_sock_put_work()
417 struct sock *sk = &smc->sk; in smc_close_shutdown_write() local
423 0 : sock_flag(sk, SOCK_LINGER) ? in smc_close_shutdown_write()
424 sk->sk_lingertime : SMC_MAX_STREAM_WAIT_TIMEOUT; in smc_close_shutdown_write()
427 old_state = sk->sk_state; in smc_close_shutdown_write()
431 release_sock(sk); in smc_close_shutdown_write()
433 lock_sock(sk); in smc_close_shutdown_write()
436 if (sk->sk_state == SMC_ACTIVE) in smc_close_shutdown_write()
437 sk->sk_state = SMC_PEERCLOSEWAIT1; in smc_close_shutdown_write()
445 release_sock(sk); in smc_close_shutdown_write()
447 lock_sock(sk); in smc_close_shutdown_write()
450 sk->sk_state = SMC_APPCLOSEWAIT2; in smc_close_shutdown_write()
463 if (old_state != sk->sk_state) in smc_close_shutdown_write()
464 sk->sk_state_change(&smc->sk); in smc_close_shutdown_write()