Lines Matching defs:smc
15 #include "smc.h"
32 struct smc_sock *smc;
36 smc = container_of(conn, struct smc_sock, conn);
37 bh_lock_sock(&smc->sk);
58 if (sock_owned_by_user(&smc->sk))
68 smc_tx_sndbuf_nonfull(smc);
69 bh_unlock_sock(&smc->sk);
238 struct smc_sock *smc = container_of(conn, struct smc_sock, conn);
268 smc_tx_sndbuf_nonfull(smc);
279 static void smc_cdc_handle_urg_data_arrival(struct smc_sock *smc,
282 struct smc_connection *conn = &smc->conn;
288 if (!sock_flag(&smc->sk, SOCK_URGINLINE))
296 sk_send_sigurg(&smc->sk);
299 static void smc_cdc_msg_validate(struct smc_sock *smc, struct smc_cdc_msg *cdc,
302 struct smc_connection *conn = &smc->conn;
315 sock_hold(&smc->sk); /* sock_put in abort_work */
317 sock_put(&smc->sk);
321 static void smc_cdc_msg_recv_action(struct smc_sock *smc,
325 struct smc_connection *conn = &smc->conn;
348 smc_cdc_handle_urg_data_arrival(smc, &diff_prod);
354 smc->sk.sk_data_ready(&smc->sk);
357 smc->sk.sk_data_ready(&smc->sk);
366 if (!sock_owned_by_user(&smc->sk))
376 smc->sk.sk_write_space(&smc->sk);
380 smc->sk.sk_err = ECONNRESET;
384 smc->sk.sk_shutdown |= RCV_SHUTDOWN;
385 if (smc->clcsock && smc->clcsock->sk)
386 smc->clcsock->sk->sk_shutdown |= RCV_SHUTDOWN;
387 smc_sock_set_flag(&smc->sk, SOCK_DONE);
388 sock_hold(&smc->sk); /* sock_put in close_work */
390 sock_put(&smc->sk);
395 static void smc_cdc_msg_recv(struct smc_sock *smc, struct smc_cdc_msg *cdc)
397 sock_hold(&smc->sk);
398 bh_lock_sock(&smc->sk);
399 smc_cdc_msg_recv_action(smc, cdc);
400 bh_unlock_sock(&smc->sk);
401 sock_put(&smc->sk); /* no free sk in softirq-context */
415 struct smc_sock *smc;
423 smc = container_of(conn, struct smc_sock, conn);
424 smc_cdc_msg_recv(smc, (struct smc_cdc_msg *)&cdc);
443 struct smc_sock *smc;
457 smc = container_of(conn, struct smc_sock, conn);
460 smc_cdc_msg_validate(smc, cdc, link);
468 smc_cdc_msg_recv(smc, cdc);