Lines Matching refs:smc

31 	struct smc_sock *smc;  in smc_cdc_tx_handler()  local
34 smc = container_of(conn, struct smc_sock, conn); in smc_cdc_tx_handler()
35 bh_lock_sock(&smc->sk); in smc_cdc_tx_handler()
56 smc_tx_sndbuf_nonfull(smc); in smc_cdc_tx_handler()
57 bh_unlock_sock(&smc->sk); in smc_cdc_tx_handler()
225 struct smc_sock *smc = container_of(conn, struct smc_sock, conn); in smcd_cdc_msg_send() local
255 smc_tx_sndbuf_nonfull(smc); in smcd_cdc_msg_send()
266 static void smc_cdc_handle_urg_data_arrival(struct smc_sock *smc, in smc_cdc_handle_urg_data_arrival() argument
269 struct smc_connection *conn = &smc->conn; in smc_cdc_handle_urg_data_arrival()
275 if (!sock_flag(&smc->sk, SOCK_URGINLINE)) in smc_cdc_handle_urg_data_arrival()
283 sk_send_sigurg(&smc->sk); in smc_cdc_handle_urg_data_arrival()
286 static void smc_cdc_msg_validate(struct smc_sock *smc, struct smc_cdc_msg *cdc, in smc_cdc_msg_validate() argument
289 struct smc_connection *conn = &smc->conn; in smc_cdc_msg_validate()
302 sock_hold(&smc->sk); /* sock_put in abort_work */ in smc_cdc_msg_validate()
304 sock_put(&smc->sk); in smc_cdc_msg_validate()
308 static void smc_cdc_msg_recv_action(struct smc_sock *smc, in smc_cdc_msg_recv_action() argument
312 struct smc_connection *conn = &smc->conn; in smc_cdc_msg_recv_action()
335 smc_cdc_handle_urg_data_arrival(smc, &diff_prod); in smc_cdc_msg_recv_action()
341 smc->sk.sk_data_ready(&smc->sk); in smc_cdc_msg_recv_action()
344 smc->sk.sk_data_ready(&smc->sk); in smc_cdc_msg_recv_action()
359 smc->sk.sk_write_space(&smc->sk); in smc_cdc_msg_recv_action()
363 smc->sk.sk_err = ECONNRESET; in smc_cdc_msg_recv_action()
367 smc->sk.sk_shutdown |= RCV_SHUTDOWN; in smc_cdc_msg_recv_action()
368 if (smc->clcsock && smc->clcsock->sk) in smc_cdc_msg_recv_action()
369 smc->clcsock->sk->sk_shutdown |= RCV_SHUTDOWN; in smc_cdc_msg_recv_action()
370 sock_set_flag(&smc->sk, SOCK_DONE); in smc_cdc_msg_recv_action()
371 sock_hold(&smc->sk); /* sock_put in close_work */ in smc_cdc_msg_recv_action()
373 sock_put(&smc->sk); in smc_cdc_msg_recv_action()
378 static void smc_cdc_msg_recv(struct smc_sock *smc, struct smc_cdc_msg *cdc) in smc_cdc_msg_recv() argument
380 sock_hold(&smc->sk); in smc_cdc_msg_recv()
381 bh_lock_sock(&smc->sk); in smc_cdc_msg_recv()
382 smc_cdc_msg_recv_action(smc, cdc); in smc_cdc_msg_recv()
383 bh_unlock_sock(&smc->sk); in smc_cdc_msg_recv()
384 sock_put(&smc->sk); /* no free sk in softirq-context */ in smc_cdc_msg_recv()
398 struct smc_sock *smc; in smcd_cdc_rx_tsklet() local
406 smc = container_of(conn, struct smc_sock, conn); in smcd_cdc_rx_tsklet()
407 smc_cdc_msg_recv(smc, (struct smc_cdc_msg *)&cdc); in smcd_cdc_rx_tsklet()
426 struct smc_sock *smc; in smc_cdc_rx_handler() local
440 smc = container_of(conn, struct smc_sock, conn); in smc_cdc_rx_handler()
443 smc_cdc_msg_validate(smc, cdc, link); in smc_cdc_rx_handler()
451 smc_cdc_msg_recv(smc, cdc); in smc_cdc_rx_handler()