Lines Matching refs:smc
38 struct smc_sock *smc; in smc_cdc_tx_handler() local
45 smc = container_of(conn, struct smc_sock, conn); in smc_cdc_tx_handler()
46 bh_lock_sock(&smc->sk); in smc_cdc_tx_handler()
58 smc_tx_sndbuf_nonfull(smc); in smc_cdc_tx_handler()
59 bh_unlock_sock(&smc->sk); in smc_cdc_tx_handler()
179 struct smc_sock *smc = container_of(conn, struct smc_sock, conn); in smcd_cdc_msg_send() local
207 smc_tx_sndbuf_nonfull(smc); in smcd_cdc_msg_send()
218 static void smc_cdc_handle_urg_data_arrival(struct smc_sock *smc, in smc_cdc_handle_urg_data_arrival() argument
221 struct smc_connection *conn = &smc->conn; in smc_cdc_handle_urg_data_arrival()
227 if (!sock_flag(&smc->sk, SOCK_URGINLINE)) in smc_cdc_handle_urg_data_arrival()
235 sk_send_sigurg(&smc->sk); in smc_cdc_handle_urg_data_arrival()
238 static void smc_cdc_msg_recv_action(struct smc_sock *smc, in smc_cdc_msg_recv_action() argument
242 struct smc_connection *conn = &smc->conn; in smc_cdc_msg_recv_action()
265 smc_cdc_handle_urg_data_arrival(smc, &diff_prod); in smc_cdc_msg_recv_action()
271 smc->sk.sk_data_ready(&smc->sk); in smc_cdc_msg_recv_action()
281 if (smc->sk.sk_state != SMC_INIT) in smc_cdc_msg_recv_action()
291 smc_close_wake_tx_prepared(smc); in smc_cdc_msg_recv_action()
297 smc->sk.sk_write_space(&smc->sk); in smc_cdc_msg_recv_action()
301 smc->sk.sk_err = ECONNRESET; in smc_cdc_msg_recv_action()
305 smc->sk.sk_shutdown |= RCV_SHUTDOWN; in smc_cdc_msg_recv_action()
306 if (smc->clcsock && smc->clcsock->sk) in smc_cdc_msg_recv_action()
307 smc->clcsock->sk->sk_shutdown |= RCV_SHUTDOWN; in smc_cdc_msg_recv_action()
308 sock_set_flag(&smc->sk, SOCK_DONE); in smc_cdc_msg_recv_action()
309 sock_hold(&smc->sk); /* sock_put in close_work */ in smc_cdc_msg_recv_action()
311 sock_put(&smc->sk); in smc_cdc_msg_recv_action()
316 static void smc_cdc_msg_recv(struct smc_sock *smc, struct smc_cdc_msg *cdc) in smc_cdc_msg_recv() argument
318 sock_hold(&smc->sk); in smc_cdc_msg_recv()
319 bh_lock_sock(&smc->sk); in smc_cdc_msg_recv()
320 smc_cdc_msg_recv_action(smc, cdc); in smc_cdc_msg_recv()
321 bh_unlock_sock(&smc->sk); in smc_cdc_msg_recv()
322 sock_put(&smc->sk); /* no free sk in softirq-context */ in smc_cdc_msg_recv()
335 struct smc_sock *smc; in smcd_cdc_rx_tsklet() local
341 smc = container_of(conn, struct smc_sock, conn); in smcd_cdc_rx_tsklet()
342 smc_cdc_msg_recv(smc, (struct smc_cdc_msg *)&cdc); in smcd_cdc_rx_tsklet()
361 struct smc_sock *smc; in smc_cdc_rx_handler() local
375 smc = container_of(conn, struct smc_sock, conn); in smc_cdc_rx_handler()
383 smc_cdc_msg_recv(smc, cdc); in smc_cdc_rx_handler()