conn 2723 arch/powerpc/platforms/powermac/feature.c const char *conn; conn 2728 arch/powerpc/platforms/powermac/feature.c conn = of_get_property(np, "AAPL,connector", &len); conn 2729 arch/powerpc/platforms/powermac/feature.c if (conn && (strcmp(conn, "infrared") == 0)) conn 282 arch/um/drivers/net_kern.c struct connection *conn = &lp->user; conn 284 arch/um/drivers/net_kern.c dprintk(KERN_INFO "uml_net_user_timer_expire [%p]\n", conn); conn 285 arch/um/drivers/net_kern.c do_connect(conn); conn 47 arch/um/drivers/port_kern.c struct connection *conn = data; conn 50 arch/um/drivers/port_kern.c fd = os_rcv_fd(conn->socket[0], &conn->helper_pid); conn 57 arch/um/drivers/port_kern.c os_close_file(conn->fd); conn 60 arch/um/drivers/port_kern.c list_del(&conn->list); conn 62 arch/um/drivers/port_kern.c conn->fd = fd; conn 63 arch/um/drivers/port_kern.c list_add(&conn->list, &conn->port->connections); conn 65 arch/um/drivers/port_kern.c complete(&conn->port->done); conn 78 arch/um/drivers/port_kern.c struct connection *conn; conn 89 arch/um/drivers/port_kern.c conn = kmalloc(sizeof(*conn), GFP_ATOMIC); conn 90 arch/um/drivers/port_kern.c if (conn == NULL) { conn 95 arch/um/drivers/port_kern.c *conn = ((struct connection) conn 96 arch/um/drivers/port_kern.c { .list = LIST_HEAD_INIT(conn->list), conn 103 arch/um/drivers/port_kern.c IRQF_SHARED, "telnetd", conn)) { conn 113 arch/um/drivers/port_kern.c list_add(&conn->list, &port->pending); conn 117 arch/um/drivers/port_kern.c kfree(conn); conn 226 arch/um/drivers/port_kern.c struct connection *conn; conn 238 arch/um/drivers/port_kern.c conn = list_entry(port->connections.next, struct connection, conn 240 arch/um/drivers/port_kern.c list_del(&conn->list); conn 243 arch/um/drivers/port_kern.c os_shutdown_socket(conn->socket[0], 1, 1); conn 244 arch/um/drivers/port_kern.c os_close_file(conn->socket[0]); conn 245 arch/um/drivers/port_kern.c os_shutdown_socket(conn->socket[1], 1, 1); conn 246 arch/um/drivers/port_kern.c os_close_file(conn->socket[1]); conn 254 arch/um/drivers/port_kern.c um_free_irq(TELNETD_IRQ, conn); conn 256 arch/um/drivers/port_kern.c if (conn->fd >= 0) conn 258 arch/um/drivers/port_kern.c os_close_file(conn->fd); conn 259 arch/um/drivers/port_kern.c kfree(conn); conn 262 arch/um/drivers/port_kern.c fd = conn->fd; conn 263 arch/um/drivers/port_kern.c dev->helper_pid = conn->helper_pid; conn 264 arch/um/drivers/port_kern.c dev->telnetd_pid = conn->telnetd_pid; conn 265 arch/um/drivers/port_kern.c kfree(conn); conn 13 arch/um/drivers/vde.h void *conn; conn 29 arch/um/drivers/vde.h extern int vde_user_read(void *conn, void *buf, int len); conn 30 arch/um/drivers/vde.h extern int vde_user_write(void *conn, void *buf, int len); conn 28 arch/um/drivers/vde_kern.c vpri->conn = NULL; conn 43 arch/um/drivers/vde_kern.c if (pri->conn != NULL) conn 44 arch/um/drivers/vde_kern.c return vde_user_read(pri->conn, skb_mac_header(skb), conn 55 arch/um/drivers/vde_kern.c if (pri->conn != NULL) conn 56 arch/um/drivers/vde_kern.c return vde_user_write((void *)pri->conn, skb->data, conn 16 arch/um/drivers/vde_user.c VDECONN *conn = NULL; conn 21 arch/um/drivers/vde_user.c conn = vde_open(pri->vde_switch, pri->descr, pri->args); conn 23 arch/um/drivers/vde_user.c if (conn == NULL) { conn 32 arch/um/drivers/vde_user.c pri->conn = conn; conn 41 arch/um/drivers/vde_user.c if (pri->conn != NULL) conn 42 arch/um/drivers/vde_user.c return vde_datafd(pri->conn); conn 52 arch/um/drivers/vde_user.c if (pri->conn != NULL) { conn 54 arch/um/drivers/vde_user.c vde_close(pri->conn); conn 55 arch/um/drivers/vde_user.c pri->conn = NULL; conn 96 arch/um/drivers/vde_user.c int vde_user_read(void *conn, void *buf, int len) conn 98 arch/um/drivers/vde_user.c VDECONN *vconn = conn; conn 116 arch/um/drivers/vde_user.c int vde_user_write(void *conn, void *buf, int len) conn 118 arch/um/drivers/vde_user.c VDECONN *vconn = conn; conn 1408 drivers/atm/idt77252.c u32 conn, stat; conn 1439 drivers/atm/idt77252.c conn = le32_to_cpu(tsqe->word_1); conn 1450 drivers/atm/idt77252.c vc = card->vcs[conn & 0x1fff]; conn 1453 drivers/atm/idt77252.c card->name, conn & 0x1fff); conn 1465 drivers/atm/idt77252.c conn = le32_to_cpu(tsqe->word_1); conn 1467 drivers/atm/idt77252.c vc = card->vcs[conn & 0x1fff]; conn 1480 drivers/atm/idt77252.c conn = le32_to_cpu(tsqe->word_1); conn 1482 drivers/atm/idt77252.c vpi = (conn >> SAR_TBD_VPI_SHIFT) & 0x00ff; conn 1483 drivers/atm/idt77252.c vci = (conn >> SAR_TBD_VCI_SHIFT) & 0xffff; conn 684 drivers/block/drbd/drbd_actlog.c drbd_conn_str(device->state.conn)); conn 745 drivers/block/drbd/drbd_actlog.c device->state.conn != C_PAUSED_SYNC_T && conn 746 drivers/block/drbd/drbd_actlog.c device->state.conn != C_PAUSED_SYNC_S) { conn 765 drivers/block/drbd/drbd_actlog.c is_sync_target_state(device->state.conn)) conn 2186 drivers/block/drbd/drbd_int.h switch ((enum drbd_conns)s.conn) { conn 253 drivers/block/drbd/drbd_main.c conn_request_state(connection, NS(conn, C_PROTOCOL_ERROR), CS_HARD); conn 1348 drivers/block/drbd/drbd_main.c if (peer_device->device->state.conn < C_CONNECTED) conn 1694 drivers/block/drbd/drbd_main.c if (device->state.conn >= C_SYNC_SOURCE && conn 1695 drivers/block/drbd/drbd_main.c device->state.conn <= C_PAUSED_SYNC_T) conn 1886 drivers/block/drbd/drbd_main.c conn_request_state(connection, NS(conn, C_BROKEN_PIPE), CS_HARD); conn 1888 drivers/block/drbd/drbd_main.c conn_request_state(connection, NS(conn, C_TIMEOUT), CS_HARD); conn 1949 drivers/block/drbd/drbd_main.c if (device->state.pdsk >= D_INCONSISTENT && device->state.conn >= C_CONNECTED) { conn 1966 drivers/block/drbd/drbd_main.c .conn = C_STANDALONE, conn 2892 drivers/block/drbd/drbd_main.c device->state.conn = first_connection(resource)->cstate; conn 2893 drivers/block/drbd/drbd_main.c if (device->state.conn == C_WF_REPORT_PARAMS) { conn 3395 drivers/block/drbd/drbd_main.c if (device->state.conn < C_CONNECTED) { conn 3805 drivers/block/drbd/drbd_main.c if (!timeout || device->state.conn < C_CONNECTED) conn 732 drivers/block/drbd/drbd_nl.c if (((device->state.conn < C_CONNECTED || conn 745 drivers/block/drbd/drbd_nl.c if (device->state.conn >= C_WF_REPORT_PARAMS) { conn 1102 drivers/block/drbd/drbd_nl.c if (device->state.conn < C_CONNECTED && assume_peer_has_space) { conn 1397 drivers/block/drbd/drbd_nl.c if (device->state.conn >= C_WF_REPORT_PARAMS) { conn 1461 drivers/block/drbd/drbd_nl.c if (device->state.conn < C_CONNECTED) conn 1681 drivers/block/drbd/drbd_nl.c if (device->state.conn >= C_CONNECTED) { conn 2156 drivers/block/drbd/drbd_nl.c if (device->state.conn == C_CONNECTED) { conn 2267 drivers/block/drbd/drbd_nl.c if (device->state.conn == C_SYNC_SOURCE || conn 2268 drivers/block/drbd/drbd_nl.c device->state.conn == C_SYNC_TARGET || conn 2269 drivers/block/drbd/drbd_nl.c device->state.conn == C_PAUSED_SYNC_S || conn 2270 drivers/block/drbd/drbd_nl.c device->state.conn == C_PAUSED_SYNC_T) { conn 2289 drivers/block/drbd/drbd_nl.c if (device->state.conn == C_VERIFY_S || conn 2290 drivers/block/drbd/drbd_nl.c device->state.conn == C_VERIFY_T) { conn 2561 drivers/block/drbd/drbd_nl.c max_t(enum drbd_conns, C_WF_REPORT_PARAMS, device->state.conn); conn 2699 drivers/block/drbd/drbd_nl.c retcode = conn_request_state(connection, NS(conn, C_UNCONNECTED), CS_VERBOSE); conn 2723 drivers/block/drbd/drbd_nl.c rv = conn_request_state(connection, NS(conn, C_DISCONNECTING), conn 2733 drivers/block/drbd/drbd_nl.c rv = conn_request_state(connection, NS2(conn, C_DISCONNECTING, pdsk, D_OUTDATED), 0); conn 2736 drivers/block/drbd/drbd_nl.c rv = conn_request_state(connection, NS(conn, C_DISCONNECTING), CS_VERBOSE); conn 2746 drivers/block/drbd/drbd_nl.c rv = conn_request_state(connection, NS2(conn, C_DISCONNECTING, conn 2749 drivers/block/drbd/drbd_nl.c rv = conn_request_state(connection, NS(conn, C_DISCONNECTING), conn 2771 drivers/block/drbd/drbd_nl.c rv2 = conn_request_state(connection, NS(conn, C_STANDALONE), conn 2834 drivers/block/drbd/drbd_nl.c _drbd_request_state(device, NS(conn, C_WF_SYNC_UUID), CS_VERBOSE + CS_SERIALIZE); conn 2875 drivers/block/drbd/drbd_nl.c if (device->state.conn > C_CONNECTED) { conn 2916 drivers/block/drbd/drbd_nl.c if (device->state.conn != C_CONNECTED && !rs.resize_force) { conn 2954 drivers/block/drbd/drbd_nl.c if (device->state.conn == C_CONNECTED) { conn 3043 drivers/block/drbd/drbd_nl.c if (device->state.conn == C_STANDALONE && device->state.role == R_SECONDARY) { conn 3051 drivers/block/drbd/drbd_nl.c retcode = drbd_request_state(device, NS(conn, C_STARTING_SYNC_T)); conn 3120 drivers/block/drbd/drbd_nl.c if (device->state.conn == C_STANDALONE && device->state.role == R_PRIMARY) { conn 3131 drivers/block/drbd/drbd_nl.c retcode = drbd_request_state(device, NS(conn, C_STARTING_SYNC_S)); conn 3175 drivers/block/drbd/drbd_nl.c if (s.conn == C_PAUSED_SYNC_S || s.conn == C_PAUSED_SYNC_T) { conn 3237 drivers/block/drbd/drbd_nl.c if (device->state.conn < C_CONNECTED) conn 3862 drivers/block/drbd/drbd_nl.c if (C_SYNC_SOURCE <= device->state.conn && conn 3863 drivers/block/drbd/drbd_nl.c C_PAUSED_SYNC_T >= device->state.conn) { conn 4170 drivers/block/drbd/drbd_nl.c retcode = drbd_request_state(device, NS(conn, C_VERIFY_S)); conn 4215 drivers/block/drbd/drbd_nl.c if (device->state.conn == C_CONNECTED && conn 4220 drivers/block/drbd/drbd_nl.c } else if (device->state.conn != C_STANDALONE) { conn 4428 drivers/block/drbd/drbd_nl.c _drbd_request_state(device, NS(conn, C_WF_REPORT_PARAMS), conn 53 drivers/block/drbd/drbd_proc.c if (state.conn == C_VERIFY_S || state.conn == C_VERIFY_T) conn 110 drivers/block/drbd/drbd_proc.c if (state.conn == C_VERIFY_S || state.conn == C_VERIFY_T) conn 182 drivers/block/drbd/drbd_proc.c if (state.conn == C_SYNC_TARGET || conn 183 drivers/block/drbd/drbd_proc.c state.conn == C_VERIFY_S) { conn 195 drivers/block/drbd/drbd_proc.c if (state.conn == C_VERIFY_S || conn 196 drivers/block/drbd/drbd_proc.c state.conn == C_VERIFY_T) { conn 260 drivers/block/drbd/drbd_proc.c sn = drbd_conn_str(state.conn); conn 262 drivers/block/drbd/drbd_proc.c if (state.conn == C_STANDALONE && conn 306 drivers/block/drbd/drbd_proc.c if (state.conn == C_SYNC_SOURCE || conn 307 drivers/block/drbd/drbd_proc.c state.conn == C_SYNC_TARGET || conn 308 drivers/block/drbd/drbd_proc.c state.conn == C_VERIFY_S || conn 309 drivers/block/drbd/drbd_proc.c state.conn == C_VERIFY_T) conn 538 drivers/block/drbd/drbd_receiver.c conn_request_state(connection, NS(conn, C_BROKEN_PIPE), CS_HARD); conn 668 drivers/block/drbd/drbd_receiver.c conn_request_state(connection, NS(conn, C_DISCONNECTING), CS_HARD); conn 749 drivers/block/drbd/drbd_receiver.c conn_request_state(connection, NS(conn, C_DISCONNECTING), CS_HARD); conn 791 drivers/block/drbd/drbd_receiver.c conn_request_state(connection, NS(conn, C_DISCONNECTING), CS_HARD); conn 935 drivers/block/drbd/drbd_receiver.c if (conn_request_state(connection, NS(conn, C_WF_CONNECTION), CS_VERBOSE) < SS_SUCCESS) conn 1117 drivers/block/drbd/drbd_receiver.c rv = conn_request_state(connection, NS(conn, C_WF_REPORT_PARAMS), CS_VERBOSE); conn 2245 drivers/block/drbd/drbd_receiver.c pcmd = (device->state.conn >= C_SYNC_SOURCE && conn 2246 drivers/block/drbd/drbd_receiver.c device->state.conn <= C_PAUSED_SYNC_T && conn 2563 drivers/block/drbd/drbd_receiver.c _conn_request_state(connection, NS(conn, C_TIMEOUT), CS_HARD); conn 2721 drivers/block/drbd/drbd_receiver.c if (device->state.conn == C_SYNC_TARGET) conn 2818 drivers/block/drbd/drbd_receiver.c if (device->state.conn == C_VERIFY_S || device->state.conn == C_VERIFY_T) conn 3813 drivers/block/drbd/drbd_receiver.c conn_request_state(connection, NS(conn, C_DISCONNECTING), CS_HARD); conn 3976 drivers/block/drbd/drbd_receiver.c if (device->state.conn == C_WF_REPORT_PARAMS) { conn 3990 drivers/block/drbd/drbd_receiver.c if (device->state.conn == C_WF_REPORT_PARAMS) { conn 4086 drivers/block/drbd/drbd_receiver.c conn_request_state(peer_device->connection, NS(conn, C_DISCONNECTING), CS_HARD); conn 4141 drivers/block/drbd/drbd_receiver.c if (device->state.conn == C_WF_REPORT_PARAMS) conn 4150 drivers/block/drbd/drbd_receiver.c (device->state.conn < C_CONNECTED || device->state.pdsk == D_DISKLESS)) { conn 4153 drivers/block/drbd/drbd_receiver.c conn_request_state(peer_device->connection, NS(conn, C_DISCONNECTING), CS_HARD); conn 4228 drivers/block/drbd/drbd_receiver.c conn_request_state(peer_device->connection, NS(conn, C_DISCONNECTING), CS_HARD); conn 4253 drivers/block/drbd/drbd_receiver.c if (device->state.conn > C_WF_REPORT_PARAMS) { conn 4261 drivers/block/drbd/drbd_receiver.c (dd == DS_GREW && device->state.conn == C_CONNECTED)) { conn 4301 drivers/block/drbd/drbd_receiver.c if ((device->state.conn < C_CONNECTED || device->state.pdsk == D_DISKLESS) && conn 4307 drivers/block/drbd/drbd_receiver.c conn_request_state(peer_device->connection, NS(conn, C_DISCONNECTING), CS_HARD); conn 4313 drivers/block/drbd/drbd_receiver.c device->state.conn == C_CONNECTED && conn 4343 drivers/block/drbd/drbd_receiver.c if (device->state.conn >= C_CONNECTED && device->state.disk < D_INCONSISTENT) conn 4373 drivers/block/drbd/drbd_receiver.c ms.conn = c_tab[ps.conn]; conn 4471 drivers/block/drbd/drbd_receiver.c if (os.conn <= C_TEAR_DOWN) conn 4482 drivers/block/drbd/drbd_receiver.c os.conn > C_CONNECTED && os.disk == D_UP_TO_DATE) { conn 4489 drivers/block/drbd/drbd_receiver.c if (peer_state.conn > C_CONNECTED && conn 4490 drivers/block/drbd/drbd_receiver.c peer_state.conn < C_SYNC_SOURCE) conn 4496 drivers/block/drbd/drbd_receiver.c else if (os.conn >= C_SYNC_SOURCE && conn 4497 drivers/block/drbd/drbd_receiver.c peer_state.conn == C_CONNECTED) { conn 4505 drivers/block/drbd/drbd_receiver.c if (os.conn == C_VERIFY_T && os.disk == D_UP_TO_DATE && conn 4506 drivers/block/drbd/drbd_receiver.c peer_state.conn == C_CONNECTED && real_peer_disk == D_UP_TO_DATE) { conn 4518 drivers/block/drbd/drbd_receiver.c os.conn == C_CONNECTED && peer_state.conn > C_SYNC_SOURCE) conn 4521 drivers/block/drbd/drbd_receiver.c if (ns.conn == C_WF_REPORT_PARAMS) conn 4522 drivers/block/drbd/drbd_receiver.c ns.conn = C_CONNECTED; conn 4524 drivers/block/drbd/drbd_receiver.c if (peer_state.conn == C_AHEAD) conn 4525 drivers/block/drbd/drbd_receiver.c ns.conn = C_BEHIND; conn 4551 drivers/block/drbd/drbd_receiver.c cr = (os.conn < C_CONNECTED); conn 4554 drivers/block/drbd/drbd_receiver.c cr |= (os.conn == C_CONNECTED && conn 4562 drivers/block/drbd/drbd_receiver.c cr |= (os.conn == C_CONNECTED && conn 4563 drivers/block/drbd/drbd_receiver.c (peer_state.conn >= C_STARTING_SYNC_S && conn 4564 drivers/block/drbd/drbd_receiver.c peer_state.conn <= C_WF_BITMAP_T)); conn 4567 drivers/block/drbd/drbd_receiver.c ns.conn = drbd_sync_handshake(peer_device, peer_state.role, real_peer_disk); conn 4570 drivers/block/drbd/drbd_receiver.c if (ns.conn == C_MASK) { conn 4571 drivers/block/drbd/drbd_receiver.c ns.conn = C_CONNECTED; conn 4581 drivers/block/drbd/drbd_receiver.c D_ASSERT(device, os.conn == C_WF_REPORT_PARAMS); conn 4582 drivers/block/drbd/drbd_receiver.c conn_request_state(peer_device->connection, NS(conn, C_DISCONNECTING), CS_HARD); conn 4595 drivers/block/drbd/drbd_receiver.c if ((ns.conn == C_CONNECTED || ns.conn == C_WF_BITMAP_S) && ns.disk == D_NEGOTIATING) conn 4597 drivers/block/drbd/drbd_receiver.c cs_flags = CS_VERBOSE + (os.conn < C_CONNECTED && ns.conn >= C_CONNECTED ? 0 : CS_HARD); conn 4598 drivers/block/drbd/drbd_receiver.c if (ns.pdsk == D_CONSISTENT && drbd_suspended(device) && ns.conn == C_CONNECTED && os.conn < C_CONNECTED && conn 4607 drivers/block/drbd/drbd_receiver.c conn_request_state(peer_device->connection, NS2(conn, C_PROTOCOL_ERROR, susp, 0), CS_HARD); conn 4615 drivers/block/drbd/drbd_receiver.c conn_request_state(peer_device->connection, NS(conn, C_DISCONNECTING), CS_HARD); conn 4619 drivers/block/drbd/drbd_receiver.c if (os.conn > C_WF_REPORT_PARAMS) { conn 4620 drivers/block/drbd/drbd_receiver.c if (ns.conn > C_CONNECTED && peer_state.conn <= C_CONNECTED && conn 4649 drivers/block/drbd/drbd_receiver.c device->state.conn == C_WF_SYNC_UUID || conn 4650 drivers/block/drbd/drbd_receiver.c device->state.conn == C_BEHIND || conn 4651 drivers/block/drbd/drbd_receiver.c device->state.conn < C_CONNECTED || conn 4813 drivers/block/drbd/drbd_receiver.c conn_request_state(peer_device->connection, NS(conn, C_PROTOCOL_ERROR), CS_HARD); conn 4925 drivers/block/drbd/drbd_receiver.c if (device->state.conn == C_WF_BITMAP_T) { conn 4932 drivers/block/drbd/drbd_receiver.c rv = _drbd_request_state(device, NS(conn, C_WF_SYNC_UUID), CS_VERBOSE); conn 4934 drivers/block/drbd/drbd_receiver.c } else if (device->state.conn != C_WF_BITMAP_S) { conn 4938 drivers/block/drbd/drbd_receiver.c drbd_conn_str(device->state.conn)); conn 4944 drivers/block/drbd/drbd_receiver.c if (!err && device->state.conn == C_WF_BITMAP_S) conn 4977 drivers/block/drbd/drbd_receiver.c switch (device->state.conn) { conn 4984 drivers/block/drbd/drbd_receiver.c drbd_conn_str(device->state.conn)); conn 5150 drivers/block/drbd/drbd_receiver.c conn_request_state(connection, NS(conn, C_PROTOCOL_ERROR), CS_HARD); conn 5167 drivers/block/drbd/drbd_receiver.c conn_request_state(connection, NS(conn, C_NETWORK_FAILURE), CS_HARD); conn 5202 drivers/block/drbd/drbd_receiver.c _conn_request_state(connection, NS(conn, C_UNCONNECTED), CS_VERBOSE); conn 5207 drivers/block/drbd/drbd_receiver.c conn_request_state(connection, NS(conn, C_STANDALONE), CS_VERBOSE | CS_HARD); conn 5605 drivers/block/drbd/drbd_receiver.c conn_request_state(connection, NS(conn, C_DISCONNECTING), CS_HARD); conn 5889 drivers/block/drbd/drbd_receiver.c if (device->state.conn == C_AHEAD && conn 6136 drivers/block/drbd/drbd_receiver.c conn_request_state(connection, NS(conn, C_NETWORK_FAILURE), CS_HARD); conn 6141 drivers/block/drbd/drbd_receiver.c conn_request_state(connection, NS(conn, C_DISCONNECTING), CS_HARD); conn 6172 drivers/block/drbd/drbd_receiver.c conn_request_state(connection, NS(conn, C_NETWORK_FAILURE), CS_HARD); conn 1005 drivers/block/drbd/drbd_req.c if (on_congestion == OC_PULL_AHEAD && device->state.conn == C_AHEAD) conn 1031 drivers/block/drbd/drbd_req.c _drbd_set_state(_NS(device, conn, C_AHEAD), 0, NULL); conn 1033 drivers/block/drbd/drbd_req.c _drbd_set_state(_NS(device, conn, C_DISCONNECTING), 0, NULL); conn 1093 drivers/block/drbd/drbd_req.c s.conn >= C_WF_BITMAP_T && conn 1094 drivers/block/drbd/drbd_req.c s.conn < C_AHEAD); conn 1102 drivers/block/drbd/drbd_req.c return s.conn == C_AHEAD || s.conn == C_WF_BITMAP_S; conn 1719 drivers/block/drbd/drbd_req.c if (nc && device->state.conn >= C_WF_REPORT_PARAMS) { conn 1776 drivers/block/drbd/drbd_req.c _conn_request_state(connection, NS(conn, C_TIMEOUT), CS_VERBOSE | CS_HARD); conn 140 drivers/block/drbd/drbd_state.c C_WF_REPORT_PARAMS, device->state.conn); conn 201 drivers/block/drbd/drbd_state.c max_t(enum drbd_conns, C_WF_REPORT_PARAMS, state.conn); conn 304 drivers/block/drbd/drbd_state.c device->state.conn != C_STANDALONE || conn 417 drivers/block/drbd/drbd_state.c enum drbd_conns conn = C_MASK; conn 424 drivers/block/drbd/drbd_state.c conn = min_t(enum drbd_conns, conn, device->state.conn); conn 428 drivers/block/drbd/drbd_state.c return conn; conn 439 drivers/block/drbd/drbd_state.c if (peer_device->device->state.conn == C_WF_REPORT_PARAMS) { conn 470 drivers/block/drbd/drbd_state.c return (os.conn >= C_CONNECTED && ns.conn >= C_CONNECTED && conn 472 drivers/block/drbd/drbd_state.c (os.conn != C_STARTING_SYNC_T && ns.conn == C_STARTING_SYNC_T) || conn 473 drivers/block/drbd/drbd_state.c (os.conn != C_STARTING_SYNC_S && ns.conn == C_STARTING_SYNC_S) || conn 475 drivers/block/drbd/drbd_state.c (os.conn >= C_CONNECTED && ns.conn == C_DISCONNECTING) || conn 476 drivers/block/drbd/drbd_state.c (os.conn == C_CONNECTED && ns.conn == C_VERIFY_S) || conn 477 drivers/block/drbd/drbd_state.c (os.conn == C_CONNECTED && ns.conn == C_WF_REPORT_PARAMS); conn 719 drivers/block/drbd/drbd_state.c drbd_conn_str(ns.conn), conn 758 drivers/block/drbd/drbd_state.c if (ns.conn != os.conn && flags & CS_DC_CONN) conn 760 drivers/block/drbd/drbd_state.c drbd_conn_str(os.conn), conn 761 drivers/block/drbd/drbd_state.c drbd_conn_str(ns.conn)); conn 853 drivers/block/drbd/drbd_state.c else if (ns.role == R_PRIMARY && ns.conn < C_CONNECTED && ns.disk < D_UP_TO_DATE) conn 857 drivers/block/drbd/drbd_state.c ns.role == R_PRIMARY && ns.conn < C_CONNECTED && ns.pdsk >= D_UNKNOWN) conn 863 drivers/block/drbd/drbd_state.c else if (ns.conn > C_CONNECTED && ns.disk < D_INCONSISTENT) conn 866 drivers/block/drbd/drbd_state.c else if (ns.conn > C_CONNECTED && ns.pdsk < D_INCONSISTENT) conn 869 drivers/block/drbd/drbd_state.c else if (ns.conn > C_CONNECTED && ns.disk < D_UP_TO_DATE && ns.pdsk < D_UP_TO_DATE) conn 872 drivers/block/drbd/drbd_state.c else if ((ns.conn == C_CONNECTED || conn 873 drivers/block/drbd/drbd_state.c ns.conn == C_WF_BITMAP_S || conn 874 drivers/block/drbd/drbd_state.c ns.conn == C_SYNC_SOURCE || conn 875 drivers/block/drbd/drbd_state.c ns.conn == C_PAUSED_SYNC_S) && conn 879 drivers/block/drbd/drbd_state.c else if ((ns.conn == C_VERIFY_S || ns.conn == C_VERIFY_T) && conn 883 drivers/block/drbd/drbd_state.c else if ((ns.conn == C_VERIFY_S || ns.conn == C_VERIFY_T) && conn 890 drivers/block/drbd/drbd_state.c else if ((ns.conn == C_STARTING_SYNC_S || ns.conn == C_STARTING_SYNC_T) && conn 894 drivers/block/drbd/drbd_state.c else if (ns.conn >= C_CONNECTED && ns.pdsk == D_UNKNOWN) conn 916 drivers/block/drbd/drbd_state.c if ((ns.conn == C_STARTING_SYNC_T || ns.conn == C_STARTING_SYNC_S) && conn 917 drivers/block/drbd/drbd_state.c os.conn > C_CONNECTED) conn 920 drivers/block/drbd/drbd_state.c if (ns.conn == C_DISCONNECTING && os.conn == C_STANDALONE) conn 926 drivers/block/drbd/drbd_state.c if (ns.conn == C_WF_CONNECTION && os.conn < C_UNCONNECTED) conn 932 drivers/block/drbd/drbd_state.c if (ns.conn == C_DISCONNECTING && os.conn == C_UNCONNECTED) conn 938 drivers/block/drbd/drbd_state.c !((ns.conn == C_WF_REPORT_PARAMS && os.conn == C_WF_CONNECTION) || conn 939 drivers/block/drbd/drbd_state.c (ns.conn >= C_CONNECTED && os.conn == C_WF_REPORT_PARAMS))) conn 948 drivers/block/drbd/drbd_state.c && (ns.conn <= C_WF_SYNC_UUID || ns.conn != os.conn)) conn 951 drivers/block/drbd/drbd_state.c if ((ns.conn == C_VERIFY_S || ns.conn == C_VERIFY_T) && os.conn < C_CONNECTED) conn 954 drivers/block/drbd/drbd_state.c if ((ns.conn == C_VERIFY_S || ns.conn == C_VERIFY_T) && conn 955 drivers/block/drbd/drbd_state.c ns.conn != os.conn && os.conn > C_CONNECTED) conn 958 drivers/block/drbd/drbd_state.c if ((ns.conn == C_STARTING_SYNC_S || ns.conn == C_STARTING_SYNC_T) && conn 959 drivers/block/drbd/drbd_state.c os.conn < C_CONNECTED) conn 962 drivers/block/drbd/drbd_state.c if ((ns.conn == C_SYNC_TARGET || ns.conn == C_SYNC_SOURCE) conn 963 drivers/block/drbd/drbd_state.c && os.conn < C_WF_REPORT_PARAMS) conn 966 drivers/block/drbd/drbd_state.c if (ns.conn == C_DISCONNECTING && ns.pdsk == D_OUTDATED && conn 967 drivers/block/drbd/drbd_state.c os.conn < C_CONNECTED && os.pdsk > D_OUTDATED) conn 1018 drivers/block/drbd/drbd_state.c rv = is_valid_conn_transition(os.conn, ns.conn); conn 1070 drivers/block/drbd/drbd_state.c if (ns.conn < C_CONNECTED) { conn 1078 drivers/block/drbd/drbd_state.c if (ns.conn == C_STANDALONE && ns.disk == D_DISKLESS && ns.role == R_SECONDARY) conn 1083 drivers/block/drbd/drbd_state.c if (ns.conn > C_CONNECTED && (ns.disk <= D_FAILED || ns.pdsk <= D_FAILED)) { conn 1085 drivers/block/drbd/drbd_state.c *warn = ns.conn == C_VERIFY_S || ns.conn == C_VERIFY_T ? conn 1087 drivers/block/drbd/drbd_state.c ns.conn = C_CONNECTED; conn 1091 drivers/block/drbd/drbd_state.c if (ns.conn < C_CONNECTED && ns.disk == D_NEGOTIATING && conn 1106 drivers/block/drbd/drbd_state.c if (ns.conn >= C_CONNECTED && ns.conn < C_AHEAD) { conn 1118 drivers/block/drbd/drbd_state.c switch ((enum drbd_conns)ns.conn) { conn 1194 drivers/block/drbd/drbd_state.c (ns.role == R_PRIMARY && ns.conn < C_CONNECTED && ns.pdsk > D_OUTDATED) && conn 1195 drivers/block/drbd/drbd_state.c !(os.role == R_PRIMARY && os.conn < C_CONNECTED && os.pdsk > D_OUTDATED)) conn 1204 drivers/block/drbd/drbd_state.c if (ns.conn == C_SYNC_SOURCE) conn 1205 drivers/block/drbd/drbd_state.c ns.conn = C_PAUSED_SYNC_S; conn 1206 drivers/block/drbd/drbd_state.c if (ns.conn == C_SYNC_TARGET) conn 1207 drivers/block/drbd/drbd_state.c ns.conn = C_PAUSED_SYNC_T; conn 1209 drivers/block/drbd/drbd_state.c if (ns.conn == C_PAUSED_SYNC_S) conn 1210 drivers/block/drbd/drbd_state.c ns.conn = C_SYNC_SOURCE; conn 1211 drivers/block/drbd/drbd_state.c if (ns.conn == C_PAUSED_SYNC_T) conn 1212 drivers/block/drbd/drbd_state.c ns.conn = C_SYNC_TARGET; conn 1322 drivers/block/drbd/drbd_state.c if (!is_sync_state(os.conn) && is_sync_state(ns.conn)) conn 1349 drivers/block/drbd/drbd_state.c if (os.conn == C_WF_REPORT_PARAMS && ns.conn != C_WF_REPORT_PARAMS && conn 1361 drivers/block/drbd/drbd_state.c if ((os.conn == C_VERIFY_S || os.conn == C_VERIFY_T) && conn 1362 drivers/block/drbd/drbd_state.c ns.conn <= C_CONNECTED) { conn 1370 drivers/block/drbd/drbd_state.c if ((os.conn == C_PAUSED_SYNC_T || os.conn == C_PAUSED_SYNC_S) && conn 1371 drivers/block/drbd/drbd_state.c (ns.conn == C_SYNC_TARGET || ns.conn == C_SYNC_SOURCE)) { conn 1375 drivers/block/drbd/drbd_state.c if (ns.conn == C_SYNC_TARGET) conn 1379 drivers/block/drbd/drbd_state.c if ((os.conn == C_SYNC_TARGET || os.conn == C_SYNC_SOURCE) && conn 1380 drivers/block/drbd/drbd_state.c (ns.conn == C_PAUSED_SYNC_T || ns.conn == C_PAUSED_SYNC_S)) { conn 1385 drivers/block/drbd/drbd_state.c if (os.conn == C_CONNECTED && conn 1386 drivers/block/drbd/drbd_state.c (ns.conn == C_VERIFY_S || ns.conn == C_VERIFY_T)) { conn 1390 drivers/block/drbd/drbd_state.c set_ov_position(device, ns.conn); conn 1403 drivers/block/drbd/drbd_state.c if (ns.conn == C_VERIFY_S) { conn 1421 drivers/block/drbd/drbd_state.c if (device->state.conn > C_WF_REPORT_PARAMS) conn 1444 drivers/block/drbd/drbd_state.c if (os.conn != C_DISCONNECTING && ns.conn == C_DISCONNECTING) conn 1448 drivers/block/drbd/drbd_state.c if (os.conn != C_STANDALONE && ns.conn == C_STANDALONE) conn 1452 drivers/block/drbd/drbd_state.c if (os.conn > C_WF_CONNECTION && conn 1453 drivers/block/drbd/drbd_state.c ns.conn <= C_TEAR_DOWN && ns.conn >= C_TIMEOUT) conn 1457 drivers/block/drbd/drbd_state.c if (os.conn < C_CONNECTED && ns.conn >= C_CONNECTED) { conn 1506 drivers/block/drbd/drbd_state.c _drbd_request_state(device, NS(conn, C_CONNECTED), CS_VERBOSE); conn 1510 drivers/block/drbd/drbd_state.c switch (device->state.conn) { conn 1512 drivers/block/drbd/drbd_state.c _drbd_request_state(device, NS(conn, C_WF_SYNC_UUID), CS_VERBOSE); conn 1736 drivers/block/drbd/drbd_state.c if (os.conn < C_CONNECTED && conn_lowest_conn(connection) >= C_CONNECTED) conn 1784 drivers/block/drbd/drbd_state.c if ((os.conn != C_SYNC_SOURCE && os.conn != C_PAUSED_SYNC_S) && conn 1785 drivers/block/drbd/drbd_state.c (ns.conn == C_SYNC_SOURCE || ns.conn == C_PAUSED_SYNC_S) && conn 1807 drivers/block/drbd/drbd_state.c if (os.conn != C_WF_BITMAP_S && ns.conn == C_WF_BITMAP_S && conn 1808 drivers/block/drbd/drbd_state.c device->state.conn == C_WF_BITMAP_S) conn 1849 drivers/block/drbd/drbd_state.c device->state.conn <= C_CONNECTED && get_ldev(device)) { conn 1858 drivers/block/drbd/drbd_state.c if (ns.conn >= C_CONNECTED && conn 1866 drivers/block/drbd/drbd_state.c if (ns.conn >= C_CONNECTED && conn 1878 drivers/block/drbd/drbd_state.c if (os.conn == C_WF_REPORT_PARAMS && ns.conn >= C_CONNECTED) conn 1881 drivers/block/drbd/drbd_state.c if (os.conn != C_AHEAD && ns.conn == C_AHEAD) conn 1885 drivers/block/drbd/drbd_state.c if ((os.conn != C_STARTING_SYNC_T && ns.conn == C_STARTING_SYNC_T) || conn 1886 drivers/block/drbd/drbd_state.c (os.conn != C_STARTING_SYNC_S && ns.conn == C_STARTING_SYNC_S)) conn 1939 drivers/block/drbd/drbd_state.c if (ns.conn >= C_CONNECTED) conn 1963 drivers/block/drbd/drbd_state.c if (ns.conn >= C_CONNECTED) conn 1971 drivers/block/drbd/drbd_state.c if (os.disk == D_UP_TO_DATE && ns.disk == D_INCONSISTENT && ns.conn >= C_CONNECTED) conn 1977 drivers/block/drbd/drbd_state.c if (ns.conn == C_CONNECTED) conn 1982 drivers/block/drbd/drbd_state.c if ((os.conn > C_CONNECTED && ns.conn <= C_CONNECTED) || conn 1989 drivers/block/drbd/drbd_state.c if (os.disk < D_UP_TO_DATE && os.conn >= C_SYNC_SOURCE && ns.conn == C_CONNECTED) conn 1995 drivers/block/drbd/drbd_state.c if (os.conn == C_VERIFY_S && ns.conn == C_CONNECTED conn 2010 drivers/block/drbd/drbd_state.c if ((os.conn > C_CONNECTED && os.conn < C_AHEAD) && conn 2011 drivers/block/drbd/drbd_state.c (ns.conn == C_CONNECTED || ns.conn >= C_AHEAD) && get_ldev(device)) { conn 2018 drivers/block/drbd/drbd_state.c ns.conn == C_STANDALONE && conn 2052 drivers/block/drbd/drbd_state.c if (oc == C_STANDALONE && ns_max.conn == C_UNCONNECTED) conn 2055 drivers/block/drbd/drbd_state.c if (oc == C_DISCONNECTING && ns_max.conn == C_STANDALONE) { conn 2112 drivers/block/drbd/drbd_state.c .conn = connection->cstate, conn 2134 drivers/block/drbd/drbd_state.c if (cs.conn != os.conn) conn 2201 drivers/block/drbd/drbd_state.c .conn = val.conn, conn 2209 drivers/block/drbd/drbd_state.c if (mask.conn == C_MASK) { conn 2213 drivers/block/drbd/drbd_state.c if (connection->cstate != C_WF_REPORT_PARAMS && val.conn == C_WF_REPORT_PARAMS) conn 2216 drivers/block/drbd/drbd_state.c connection->cstate = val.conn; conn 2235 drivers/block/drbd/drbd_state.c ns_max.conn = max_t(enum drbd_conns, ns.conn, ns_max.conn); conn 2241 drivers/block/drbd/drbd_state.c ns_min.conn = min_t(enum drbd_conns, ns.conn, ns_min.conn); conn 2251 drivers/block/drbd/drbd_state.c .conn = val.conn, conn 2294 drivers/block/drbd/drbd_state.c if (mask.conn) { conn 2295 drivers/block/drbd/drbd_state.c rv = is_valid_conn_transition(oc, val.conn); conn 2304 drivers/block/drbd/drbd_state.c if (oc == C_WF_REPORT_PARAMS && val.conn == C_DISCONNECTING && conn 2323 drivers/block/drbd/drbd_state.c if (val.conn == C_DISCONNECTING) conn 2347 drivers/block/drbd/drbd_state.c acscw->oc = os.conn; conn 2372 drivers/block/drbd/drbd_state.c drbd_err(connection, " old_conn:%s wanted_conn:%s\n", drbd_conn_str(oc), drbd_conn_str(val.conn)); conn 89 drivers/block/drbd/drbd_state.h unsigned conn:5 ; /* 17/32 cstates */ conn 105 drivers/block/drbd/drbd_state.h unsigned conn:5 ; /* 17/32 cstates */ conn 435 drivers/block/drbd/drbd_worker.c switch (device->state.conn) { conn 850 drivers/block/drbd/drbd_worker.c test_bit(GOT_PING_ACK, &connection->flags) || device->state.conn < C_CONNECTED); conn 889 drivers/block/drbd/drbd_worker.c if (device->state.conn == C_VERIFY_S || device->state.conn == C_VERIFY_T) conn 903 drivers/block/drbd/drbd_worker.c verify_done = (os.conn == C_VERIFY_S || os.conn == C_VERIFY_T); conn 907 drivers/block/drbd/drbd_worker.c if (os.conn <= C_CONNECTED) conn 911 drivers/block/drbd/drbd_worker.c ns.conn = C_CONNECTED; conn 919 drivers/block/drbd/drbd_worker.c if (os.conn == C_VERIFY_S || os.conn == C_VERIFY_T) { conn 928 drivers/block/drbd/drbd_worker.c if (os.conn == C_SYNC_TARGET || os.conn == C_PAUSED_SYNC_T) conn 949 drivers/block/drbd/drbd_worker.c if (os.conn == C_SYNC_TARGET || os.conn == C_PAUSED_SYNC_T) { conn 960 drivers/block/drbd/drbd_worker.c if (os.conn == C_SYNC_TARGET || os.conn == C_PAUSED_SYNC_T) { conn 972 drivers/block/drbd/drbd_worker.c if (!(os.conn == C_VERIFY_S || os.conn == C_VERIFY_T)) { conn 993 drivers/block/drbd/drbd_worker.c if (os.conn == C_SYNC_SOURCE) { conn 1132 drivers/block/drbd/drbd_worker.c if (device->state.conn == C_AHEAD) { conn 1548 drivers/block/drbd/drbd_worker.c if ((odev->state.conn >= C_SYNC_SOURCE && conn 1549 drivers/block/drbd/drbd_worker.c odev->state.conn <= C_PAUSED_SYNC_T) || conn 1570 drivers/block/drbd/drbd_worker.c if (odev->state.conn == C_STANDALONE && odev->state.disk == D_DISKLESS) conn 1596 drivers/block/drbd/drbd_worker.c if (odev->state.conn == C_STANDALONE && odev->state.disk == D_DISKLESS) conn 1739 drivers/block/drbd/drbd_worker.c if (device->state.conn >= C_SYNC_SOURCE && device->state.conn < C_AHEAD) { conn 1759 drivers/block/drbd/drbd_worker.c conn_request_state(connection, NS(conn, C_DISCONNECTING), CS_HARD); conn 1773 drivers/block/drbd/drbd_worker.c NS(conn, C_DISCONNECTING), CS_HARD); conn 1796 drivers/block/drbd/drbd_worker.c if (device->state.conn < C_CONNECTED conn 1806 drivers/block/drbd/drbd_worker.c ns.conn = side; conn 1816 drivers/block/drbd/drbd_worker.c if (ns.conn < C_CONNECTED) conn 1853 drivers/block/drbd/drbd_worker.c drbd_conn_str(ns.conn), conn 1902 drivers/block/drbd/drbd_worker.c if (ns.conn == C_SYNC_TARGET) conn 1921 drivers/block/drbd/drbd_worker.c if (resync_done && is_sync_state(device->state.conn)) conn 2202 drivers/block/drbd/drbd_worker.c conn_request_state(connection, NS(conn, C_NETWORK_FAILURE), CS_HARD); conn 2223 drivers/block/drbd/drbd_worker.c D_ASSERT(device, device->state.disk == D_DISKLESS && device->state.conn == C_STANDALONE); conn 1004 drivers/gpio/gpiolib-acpi.c struct acpi_gpio_connection *conn; conn 1011 drivers/gpio/gpiolib-acpi.c list_for_each_entry(conn, &achip->conns, node) { conn 1012 drivers/gpio/gpiolib-acpi.c if (conn->pin == pin) { conn 1014 drivers/gpio/gpiolib-acpi.c desc = conn->desc; conn 1050 drivers/gpio/gpiolib-acpi.c conn = kzalloc(sizeof(*conn), GFP_KERNEL); conn 1051 drivers/gpio/gpiolib-acpi.c if (!conn) { conn 1058 drivers/gpio/gpiolib-acpi.c conn->pin = pin; conn 1059 drivers/gpio/gpiolib-acpi.c conn->desc = desc; conn 1060 drivers/gpio/gpiolib-acpi.c list_add_tail(&conn->node, &achip->conns); conn 1097 drivers/gpio/gpiolib-acpi.c struct acpi_gpio_connection *conn, *tmp; conn 1108 drivers/gpio/gpiolib-acpi.c list_for_each_entry_safe_reverse(conn, tmp, &achip->conns, node) { conn 1109 drivers/gpio/gpiolib-acpi.c gpiochip_free_own_desc(conn->desc); conn 1110 drivers/gpio/gpiolib-acpi.c list_del(&conn->node); conn 1111 drivers/gpio/gpiolib-acpi.c kfree(conn); conn 4230 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c amdgpu_dm_connector_atomic_check(struct drm_connector *conn, conn 4234 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c drm_atomic_get_new_connector_state(state, conn); conn 4236 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c drm_atomic_get_old_connector_state(state, conn); conn 139 drivers/gpu/drm/arm/display/komeda/komeda_kms.h struct drm_connector *conn = wb_conn ? &wb_conn->base.base : NULL; conn 141 drivers/gpu/drm/arm/display/komeda/komeda_kms.h return conn && (st->connector_mask == BIT(drm_connector_index(conn))); conn 145 drivers/gpu/drm/arm/display/komeda/komeda_kms.h is_only_changed_connector(struct drm_crtc_state *st, struct drm_connector *conn) conn 153 drivers/gpu/drm/arm/display/komeda/komeda_kms.h return BIT(drm_connector_index(conn)) == changed_connectors; conn 1087 drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c struct drm_connector *conn = conn_st->connector; conn 1090 drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c err = komeda_scaler_validate(conn, kcrtc_st, dflow); conn 1108 drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c struct drm_connector *conn = conn_st->connector; conn 1116 drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c err = komeda_scaler_validate(conn, kcrtc_st, &l_dflow); conn 1120 drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c err = komeda_scaler_validate(conn, kcrtc_st, &r_dflow); conn 1354 drivers/gpu/drm/bridge/tc358767.c bool conn; conn 1369 drivers/gpu/drm/bridge/tc358767.c conn = val & BIT(tc->hpd_pin); conn 1371 drivers/gpu/drm/bridge/tc358767.c if (conn) conn 55 drivers/gpu/drm/cirrus/cirrus.c struct drm_connector conn; conn 359 drivers/gpu/drm/cirrus/cirrus.c static int cirrus_conn_get_modes(struct drm_connector *conn) conn 363 drivers/gpu/drm/cirrus/cirrus.c count = drm_add_modes_noedid(conn, conn 364 drivers/gpu/drm/cirrus/cirrus.c conn->dev->mode_config.max_width, conn 365 drivers/gpu/drm/cirrus/cirrus.c conn->dev->mode_config.max_height); conn 366 drivers/gpu/drm/cirrus/cirrus.c drm_set_preferred_mode(conn, 1024, 768); conn 384 drivers/gpu/drm/cirrus/cirrus.c drm_connector_helper_add(&cirrus->conn, &cirrus_conn_helper_funcs); conn 385 drivers/gpu/drm/cirrus/cirrus.c return drm_connector_init(&cirrus->dev, &cirrus->conn, conn 472 drivers/gpu/drm/cirrus/cirrus.c &cirrus->conn); conn 1143 drivers/gpu/drm/drm_atomic.c struct drm_connector *conn; conn 1167 drivers/gpu/drm/drm_atomic.c for_each_new_connector_in_state(state, conn, conn_state, i) { conn 1168 drivers/gpu/drm/drm_atomic.c ret = drm_atomic_connector_check(conn, conn_state); conn 1171 drivers/gpu/drm/drm_atomic.c conn->base.id, conn->name); conn 2018 drivers/gpu/drm/drm_atomic_helper.c struct drm_connector *conn; conn 2071 drivers/gpu/drm/drm_atomic_helper.c for_each_oldnew_connector_in_state(state, conn, old_conn_state, new_conn_state, i) { conn 2123 drivers/gpu/drm/drm_atomic_helper.c struct drm_connector *conn; conn 2150 drivers/gpu/drm/drm_atomic_helper.c for_each_old_connector_in_state(old_state, conn, old_conn_state, i) { conn 2160 drivers/gpu/drm/drm_atomic_helper.c conn->base.id, conn->name); conn 2168 drivers/gpu/drm/drm_atomic_helper.c conn->base.id, conn->name); conn 2989 drivers/gpu/drm/drm_atomic_helper.c struct drm_connector *conn; conn 3024 drivers/gpu/drm/drm_atomic_helper.c for_each_new_connector_in_state(state, conn, conn_state, i) { conn 3100 drivers/gpu/drm/drm_atomic_helper.c struct drm_connector *conn; conn 3134 drivers/gpu/drm/drm_atomic_helper.c drm_for_each_connector_iter(conn, &conn_iter) { conn 3137 drivers/gpu/drm/drm_atomic_helper.c conn_state = drm_atomic_get_connector_state(state, conn); conn 1112 drivers/gpu/drm/drm_atomic_uapi.c struct drm_connector *conn; conn 1179 drivers/gpu/drm/drm_atomic_uapi.c for_each_new_connector_in_state(state, conn, conn_state, i) { conn 1188 drivers/gpu/drm/drm_atomic_uapi.c fence_ptr = get_out_fence_for_connector(state, conn); conn 1202 drivers/gpu/drm/drm_atomic_uapi.c wb_conn = drm_connector_to_writeback(conn); conn 640 drivers/gpu/drm/drm_connector.c iter->conn = NULL; conn 651 drivers/gpu/drm/drm_connector.c __drm_connector_put_safe(struct drm_connector *conn) conn 653 drivers/gpu/drm/drm_connector.c struct drm_mode_config *config = &conn->dev->mode_config; conn 657 drivers/gpu/drm/drm_connector.c if (!refcount_dec_and_test(&conn->base.refcount.refcount)) conn 660 drivers/gpu/drm/drm_connector.c llist_add(&conn->free_node, &config->connector_free_list); conn 674 drivers/gpu/drm/drm_connector.c struct drm_connector *old_conn = iter->conn; conn 684 drivers/gpu/drm/drm_connector.c iter->conn = NULL; conn 689 drivers/gpu/drm/drm_connector.c iter->conn = list_entry(lhead, struct drm_connector, head); conn 692 drivers/gpu/drm/drm_connector.c } while (!kref_get_unless_zero(&iter->conn->base.refcount)); conn 698 drivers/gpu/drm/drm_connector.c return iter->conn; conn 717 drivers/gpu/drm/drm_connector.c if (iter->conn) { conn 719 drivers/gpu/drm/drm_connector.c __drm_connector_put_safe(iter->conn); conn 838 drivers/gpu/drm/drm_framebuffer.c struct drm_connector *conn __maybe_unused; conn 896 drivers/gpu/drm/drm_framebuffer.c for_each_new_connector_in_state(state, conn, conn_state, i) { conn 76 drivers/gpu/drm/drm_self_refresh_helper.c struct drm_connector *conn; conn 105 drivers/gpu/drm/drm_self_refresh_helper.c for_each_new_connector_in_state(state, conn, conn_state, i) { conn 118 drivers/gpu/drm/i915/display/intel_atomic.c int intel_digital_connector_atomic_check(struct drm_connector *conn, conn 122 drivers/gpu/drm/i915/display/intel_atomic.c drm_atomic_get_new_connector_state(state, conn); conn 126 drivers/gpu/drm/i915/display/intel_atomic.c drm_atomic_get_old_connector_state(state, conn); conn 131 drivers/gpu/drm/i915/display/intel_atomic.c intel_hdcp_atomic_check(conn, old_state, new_state); conn 30 drivers/gpu/drm/i915/display/intel_atomic.h int intel_digital_connector_atomic_check(struct drm_connector *conn, conn 6105 drivers/gpu/drm/i915/display/intel_display.c struct drm_connector *conn; conn 6108 drivers/gpu/drm/i915/display/intel_display.c for_each_oldnew_connector_in_state(&state->base, conn, conn 6118 drivers/gpu/drm/i915/display/intel_display.c encoder = intel_connector_primary_encoder(to_intel_connector(conn)); conn 6132 drivers/gpu/drm/i915/display/intel_display.c struct drm_connector *conn; conn 6135 drivers/gpu/drm/i915/display/intel_display.c for_each_oldnew_connector_in_state(&state->base, conn, conn 6145 drivers/gpu/drm/i915/display/intel_display.c encoder = intel_connector_primary_encoder(to_intel_connector(conn)); conn 6160 drivers/gpu/drm/i915/display/intel_display.c struct drm_connector *conn; conn 6163 drivers/gpu/drm/i915/display/intel_display.c for_each_new_connector_in_state(&state->base, conn, conn_state, i) { conn 6180 drivers/gpu/drm/i915/display/intel_display.c struct drm_connector *conn; conn 6183 drivers/gpu/drm/i915/display/intel_display.c for_each_new_connector_in_state(&state->base, conn, conn_state, i) { conn 6200 drivers/gpu/drm/i915/display/intel_display.c struct drm_connector *conn; conn 6203 drivers/gpu/drm/i915/display/intel_display.c for_each_new_connector_in_state(&state->base, conn, conn_state, i) { conn 6221 drivers/gpu/drm/i915/display/intel_display.c struct drm_connector *conn; conn 6224 drivers/gpu/drm/i915/display/intel_display.c for_each_old_connector_in_state(&state->base, conn, old_conn_state, i) { conn 6242 drivers/gpu/drm/i915/display/intel_display.c struct drm_connector *conn; conn 6245 drivers/gpu/drm/i915/display/intel_display.c for_each_old_connector_in_state(&state->base, conn, old_conn_state, i) { conn 6262 drivers/gpu/drm/i915/display/intel_display.c struct drm_connector *conn; conn 6265 drivers/gpu/drm/i915/display/intel_display.c for_each_old_connector_in_state(&state->base, conn, old_conn_state, i) { conn 6282 drivers/gpu/drm/i915/display/intel_display.c struct drm_connector *conn; conn 6285 drivers/gpu/drm/i915/display/intel_display.c for_each_new_connector_in_state(&state->base, conn, conn_state, i) { conn 2429 drivers/gpu/drm/i915/display/intel_sdvo.c static int intel_sdvo_atomic_check(struct drm_connector *conn, conn 2433 drivers/gpu/drm/i915/display/intel_sdvo.c drm_atomic_get_new_connector_state(state, conn); conn 2435 drivers/gpu/drm/i915/display/intel_sdvo.c drm_atomic_get_old_connector_state(state, conn); conn 2451 drivers/gpu/drm/i915/display/intel_sdvo.c return intel_digital_connector_atomic_check(conn, state); conn 394 drivers/gpu/drm/ingenic/ingenic-drm.c struct drm_connector *conn = conn_state->connector; conn 395 drivers/gpu/drm/ingenic/ingenic-drm.c struct drm_display_info *info = &conn->display_info; conn 417 drivers/gpu/drm/ingenic/ingenic-drm.c if (conn->connector_type == DRM_MODE_CONNECTOR_TV) { conn 158 drivers/gpu/drm/mediatek/mtk_dsi.c struct drm_connector conn; conn 188 drivers/gpu/drm/mediatek/mtk_dsi.c return container_of(c, struct mtk_dsi, conn); conn 777 drivers/gpu/drm/mediatek/mtk_dsi.c ret = drm_connector_init(drm, &dsi->conn, &mtk_dsi_connector_funcs, conn 784 drivers/gpu/drm/mediatek/mtk_dsi.c drm_connector_helper_add(&dsi->conn, &mtk_dsi_connector_helper_funcs); conn 786 drivers/gpu/drm/mediatek/mtk_dsi.c dsi->conn.dpms = DRM_MODE_DPMS_OFF; conn 787 drivers/gpu/drm/mediatek/mtk_dsi.c drm_connector_attach_encoder(&dsi->conn, &dsi->encoder); conn 790 drivers/gpu/drm/mediatek/mtk_dsi.c ret = drm_panel_attach(dsi->panel, &dsi->conn); conn 800 drivers/gpu/drm/mediatek/mtk_dsi.c drm_connector_cleanup(&dsi->conn); conn 847 drivers/gpu/drm/mediatek/mtk_dsi.c if (dsi->conn.dev) conn 848 drivers/gpu/drm/mediatek/mtk_dsi.c drm_connector_cleanup(&dsi->conn); conn 881 drivers/gpu/drm/mediatek/mtk_dsi.c if (dsi->conn.dev) conn 882 drivers/gpu/drm/mediatek/mtk_dsi.c drm_helper_hpd_irq_event(dsi->conn.dev); conn 892 drivers/gpu/drm/mediatek/mtk_dsi.c if (dsi->conn.dev) conn 893 drivers/gpu/drm/mediatek/mtk_dsi.c drm_helper_hpd_irq_event(dsi->conn.dev); conn 149 drivers/gpu/drm/mediatek/mtk_hdmi.c struct drm_connector conn; conn 180 drivers/gpu/drm/mediatek/mtk_hdmi.c return container_of(c, struct mtk_hdmi, conn); conn 984 drivers/gpu/drm/mediatek/mtk_hdmi.c &hdmi->conn, mode); conn 1064 drivers/gpu/drm/mediatek/mtk_hdmi.c &hdmi->conn, mode); conn 1196 drivers/gpu/drm/mediatek/mtk_hdmi.c static enum drm_connector_status hdmi_conn_detect(struct drm_connector *conn, conn 1199 drivers/gpu/drm/mediatek/mtk_hdmi.c struct mtk_hdmi *hdmi = hdmi_ctx_from_conn(conn); conn 1205 drivers/gpu/drm/mediatek/mtk_hdmi.c static void hdmi_conn_destroy(struct drm_connector *conn) conn 1207 drivers/gpu/drm/mediatek/mtk_hdmi.c struct mtk_hdmi *hdmi = hdmi_ctx_from_conn(conn); conn 1211 drivers/gpu/drm/mediatek/mtk_hdmi.c drm_connector_cleanup(conn); conn 1214 drivers/gpu/drm/mediatek/mtk_hdmi.c static int mtk_hdmi_conn_get_modes(struct drm_connector *conn) conn 1216 drivers/gpu/drm/mediatek/mtk_hdmi.c struct mtk_hdmi *hdmi = hdmi_ctx_from_conn(conn); conn 1223 drivers/gpu/drm/mediatek/mtk_hdmi.c edid = drm_get_edid(conn, hdmi->ddc_adpt); conn 1229 drivers/gpu/drm/mediatek/mtk_hdmi.c drm_connector_update_edid_property(conn, edid); conn 1231 drivers/gpu/drm/mediatek/mtk_hdmi.c ret = drm_add_edid_modes(conn, edid); conn 1236 drivers/gpu/drm/mediatek/mtk_hdmi.c static int mtk_hdmi_conn_mode_valid(struct drm_connector *conn, conn 1239 drivers/gpu/drm/mediatek/mtk_hdmi.c struct mtk_hdmi *hdmi = hdmi_ctx_from_conn(conn); conn 1262 drivers/gpu/drm/mediatek/mtk_hdmi.c static struct drm_encoder *mtk_hdmi_conn_best_enc(struct drm_connector *conn) conn 1264 drivers/gpu/drm/mediatek/mtk_hdmi.c struct mtk_hdmi *hdmi = hdmi_ctx_from_conn(conn); conn 1302 drivers/gpu/drm/mediatek/mtk_hdmi.c ret = drm_connector_init(bridge->encoder->dev, &hdmi->conn, conn 1309 drivers/gpu/drm/mediatek/mtk_hdmi.c drm_connector_helper_add(&hdmi->conn, &mtk_hdmi_connector_helper_funcs); conn 1311 drivers/gpu/drm/mediatek/mtk_hdmi.c hdmi->conn.polled = DRM_CONNECTOR_POLL_HPD; conn 1312 drivers/gpu/drm/mediatek/mtk_hdmi.c hdmi->conn.interlace_allowed = true; conn 1313 drivers/gpu/drm/mediatek/mtk_hdmi.c hdmi->conn.doublescan_allowed = false; conn 1315 drivers/gpu/drm/mediatek/mtk_hdmi.c ret = drm_connector_attach_encoder(&hdmi->conn, conn 1645 drivers/gpu/drm/mediatek/mtk_hdmi.c memcpy(buf, hdmi->conn.eld, min(sizeof(hdmi->conn.eld), len)); conn 952 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c struct drm_connector *conn = NULL, *conn_iter; conn 978 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c conn = conn_iter; conn 980 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c if (!conn) { conn 983 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c } else if (!conn->state) { conn 1077 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c phys->connector = conn->state->connector; conn 246 drivers/gpu/drm/msm/dsi/dsi_manager.c static int msm_dsi_manager_panel_init(struct drm_connector *conn, u8 id) conn 248 drivers/gpu/drm/msm/dsi/dsi_manager.c struct msm_drm_private *priv = conn->dev->dev_private; conn 278 drivers/gpu/drm/msm/dsi/dsi_manager.c drm_object_attach_property(&conn->base, conn 279 drivers/gpu/drm/msm/dsi/dsi_manager.c conn->dev->mode_config.tile_property, 0); conn 302 drivers/gpu/drm/nouveau/dispnv50/head.c struct drm_connector *conn; conn 307 drivers/gpu/drm/nouveau/dispnv50/head.c for_each_new_connector_in_state(asyh->state.state, conn, conns, i) { conn 44 drivers/gpu/drm/nouveau/include/nvif/event.h __u8 conn; conn 15 drivers/gpu/drm/nouveau/include/nvkm/engine/disp.h struct list_head conn; conn 5 drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/mxm.h u8 mxm_sor_map(struct nvkm_bios *, u8 conn); conn 1396 drivers/gpu/drm/nouveau/nouveau_bios.c uint32_t conn, uint32_t conf, struct dcb_output *entry) conn 1401 drivers/gpu/drm/nouveau/nouveau_bios.c entry->type = conn & 0xf; conn 1402 drivers/gpu/drm/nouveau/nouveau_bios.c entry->i2c_index = (conn >> 4) & 0xf; conn 1403 drivers/gpu/drm/nouveau/nouveau_bios.c entry->heads = (conn >> 8) & 0xf; conn 1404 drivers/gpu/drm/nouveau/nouveau_bios.c entry->connector = (conn >> 12) & 0xf; conn 1405 drivers/gpu/drm/nouveau/nouveau_bios.c entry->bus = (conn >> 16) & 0xf; conn 1406 drivers/gpu/drm/nouveau/nouveau_bios.c entry->location = (conn >> 20) & 0x3; conn 1407 drivers/gpu/drm/nouveau/nouveau_bios.c entry->or = (conn >> 24) & 0xf; conn 1543 drivers/gpu/drm/nouveau/nouveau_bios.c uint32_t conn, uint32_t conf, struct dcb_output *entry) conn 1547 drivers/gpu/drm/nouveau/nouveau_bios.c switch (conn & 0x0000000f) { conn 1556 drivers/gpu/drm/nouveau/nouveau_bios.c if (conn & 0x10) conn 1565 drivers/gpu/drm/nouveau/nouveau_bios.c NV_ERROR(drm, "Unknown DCB type %d\n", conn & 0x0000000f); conn 1569 drivers/gpu/drm/nouveau/nouveau_bios.c entry->i2c_index = (conn & 0x0003c000) >> 14; conn 1570 drivers/gpu/drm/nouveau/nouveau_bios.c entry->heads = ((conn & 0x001c0000) >> 18) + 1; conn 1572 drivers/gpu/drm/nouveau/nouveau_bios.c entry->location = (conn & 0x01e00000) >> 21; conn 1573 drivers/gpu/drm/nouveau/nouveau_bios.c entry->bus = (conn & 0x0e000000) >> 25; conn 1584 drivers/gpu/drm/nouveau/nouveau_bios.c if ((conn & 0x00003f00) >> 8 != 0x10) conn 1646 drivers/gpu/drm/nouveau/nouveau_bios.c apply_dcb_encoder_quirks(struct drm_device *dev, int idx, u32 *conn, u32 *conf) conn 1664 drivers/gpu/drm/nouveau/nouveau_bios.c if (*conn == 0x02026312 && *conf == 0x00000020) conn 1674 drivers/gpu/drm/nouveau/nouveau_bios.c if (*conn == 0xf2005014 && *conf == 0xffffffff) { conn 1686 drivers/gpu/drm/nouveau/nouveau_bios.c *conn = 0x02001300; /* VGA, connector 1 */ conn 1690 drivers/gpu/drm/nouveau/nouveau_bios.c *conn = 0x01010312; /* DVI, connector 0 */ conn 1694 drivers/gpu/drm/nouveau/nouveau_bios.c *conn = 0x01010310; /* VGA, connector 0 */ conn 1698 drivers/gpu/drm/nouveau/nouveau_bios.c *conn = 0x02022362; /* HDMI, connector 2 */ conn 1701 drivers/gpu/drm/nouveau/nouveau_bios.c *conn = 0x0000000e; /* EOL */ conn 1717 drivers/gpu/drm/nouveau/nouveau_bios.c *conn = 0x02002300; /* VGA, connector 2 */ conn 1721 drivers/gpu/drm/nouveau/nouveau_bios.c *conn = 0x01010312; /* DVI, connector 0 */ conn 1725 drivers/gpu/drm/nouveau/nouveau_bios.c *conn = 0x04020310; /* VGA, connector 0 */ conn 1729 drivers/gpu/drm/nouveau/nouveau_bios.c *conn = 0x02021322; /* HDMI, connector 1 */ conn 1732 drivers/gpu/drm/nouveau/nouveau_bios.c *conn = 0x0000000e; /* EOL */ conn 1739 drivers/gpu/drm/nouveau/nouveau_bios.c if (idx == 0 && *conn == 0x02000300) conn 1740 drivers/gpu/drm/nouveau/nouveau_bios.c *conn = 0x02011300; conn 1742 drivers/gpu/drm/nouveau/nouveau_bios.c if (idx == 1 && *conn == 0x04011310) conn 1743 drivers/gpu/drm/nouveau/nouveau_bios.c *conn = 0x04000310; conn 1745 drivers/gpu/drm/nouveau/nouveau_bios.c if (idx == 2 && *conn == 0x02011312) conn 1746 drivers/gpu/drm/nouveau/nouveau_bios.c *conn = 0x02000312; conn 1789 drivers/gpu/drm/nouveau/nouveau_bios.c u32 conn = ROM32(outp[0]); conn 1792 drivers/gpu/drm/nouveau/nouveau_bios.c if (apply_dcb_encoder_quirks(dev, idx, &conn, &conf)) { conn 1795 drivers/gpu/drm/nouveau/nouveau_bios.c NV_INFO(drm, "DCB outp %02d: %08x %08x\n", idx, conn, conf); conn 1798 drivers/gpu/drm/nouveau/nouveau_bios.c ret = parse_dcb20_entry(dev, dcb, conn, conf, entry); conn 1800 drivers/gpu/drm/nouveau/nouveau_bios.c ret = parse_dcb15_entry(dev, dcb, conn, conf, entry); conn 1867 drivers/gpu/drm/nouveau/nouveau_bios.c u8 *dcbt, *conn; conn 1895 drivers/gpu/drm/nouveau/nouveau_bios.c while ((conn = olddcb_conn(dev, ++idx))) { conn 1896 drivers/gpu/drm/nouveau/nouveau_bios.c if (conn[0] != 0xff) { conn 1899 drivers/gpu/drm/nouveau/nouveau_bios.c idx, ROM16(conn[0])); conn 1902 drivers/gpu/drm/nouveau/nouveau_bios.c idx, ROM32(conn[0])); conn 1442 drivers/gpu/drm/nouveau/nouveau_connector.c .conn = index, conn 422 drivers/gpu/drm/nouveau/nouveau_display.c struct nouveau_connector *conn = nouveau_connector(connector); conn 423 drivers/gpu/drm/nouveau/nouveau_display.c nvif_notify_get(&conn->hpd); conn 448 drivers/gpu/drm/nouveau/nouveau_display.c struct nouveau_connector *conn = nouveau_connector(connector); conn 449 drivers/gpu/drm/nouveau/nouveau_display.c nvif_notify_put(&conn->hpd); conn 112 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c if (ret = -ENXIO, outp->conn->index == req->v0.conn) { conn 113 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c if (ret = -ENODEV, outp->conn->hpd.event) { conn 115 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c notify->index = req->v0.conn; conn 220 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c struct nvkm_conn *conn; conn 230 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c list_for_each_entry(conn, &disp->conn, head) { conn 231 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c nvkm_conn_fini(conn); conn 241 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c struct nvkm_conn *conn; conn 245 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c list_for_each_entry(conn, &disp->conn, head) { conn 246 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c nvkm_conn_init(conn); conn 276 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c struct nvkm_conn *conn; conn 350 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c outp->conn = pair->conn; conn 357 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c if (outp->conn) conn 368 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c list_for_each_entry(conn, &disp->conn, head) { conn 369 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c if (conn->index == outp->info.connector) { conn 370 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c outp->conn = conn; conn 375 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c if (outp->conn) conn 379 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c ret = nvkm_conn_new(disp, i, &connE, &outp->conn); conn 384 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c nvkm_conn_del(&outp->conn); conn 390 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c list_add_tail(&outp->conn->head, &disp->conn); conn 407 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c if (outp->conn->info.type == DCB_CONNECTOR_LVDS || conn 408 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c outp->conn->info.type == DCB_CONNECTOR_eDP) { conn 427 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c struct nvkm_conn *conn; conn 437 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c while (!list_empty(&disp->conn)) { conn 438 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c conn = list_first_entry(&disp->conn, typeof(*conn), head); conn 439 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c list_del(&conn->head); conn 440 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c nvkm_conn_del(&conn); conn 482 drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c INIT_LIST_HEAD(&disp->conn); conn 35 drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.c struct nvkm_conn *conn = container_of(notify, typeof(*conn), hpd); conn 36 drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.c struct nvkm_disp *disp = conn->disp; conn 40 drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.c int index = conn->index; conn 42 drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.c CONN_DBG(conn, "HPD: %d", line->mask); conn 44 drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.c if (!nvkm_gpio_get(gpio, 0, DCB_GPIO_UNUSED, conn->hpd.index)) conn 55 drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.c nvkm_conn_fini(struct nvkm_conn *conn) conn 57 drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.c nvkm_notify_put(&conn->hpd); conn 61 drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.c nvkm_conn_init(struct nvkm_conn *conn) conn 63 drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.c nvkm_notify_get(&conn->hpd); conn 69 drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.c struct nvkm_conn *conn = *pconn; conn 70 drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.c if (conn) { conn 71 drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.c nvkm_notify_fini(&conn->hpd); conn 79 drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.c struct nvkm_conn *conn) conn 86 drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.c conn->disp = disp; conn 87 drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.c conn->index = index; conn 88 drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.c conn->info = *info; conn 90 drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.c CONN_DBG(conn, "type %02x loc %d hpd %02x dp %x di %x sr %x lcdid %x", conn 96 drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.c CONN_ERR(conn, "hpd %02x unknown", info->hpd); conn 103 drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.c CONN_ERR(conn, "func %02x lookup failed, %d", conn 115 drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.c &conn->hpd); conn 117 drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.c CONN_ERR(conn, "func %02x failed, %d", info->hpd, ret); conn 119 drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.c CONN_DBG(conn, "func %02x (HPD)", info->hpd); conn 540 drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.c struct nvkm_conn *conn = dp->outp.conn; conn 558 drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.c nvkm_event_send(&disp->hpd, rep.mask, conn->index, &rep, sizeof(rep)); conn 576 drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.c nvkm_notify_put(&dp->outp.conn->hpd); conn 582 drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.c if (dp->outp.conn->info.type == DCB_CONNECTOR_eDP) { conn 18 drivers/gpu/drm/nouveau/nvkm/engine/disp/outp.h struct nvkm_conn *conn; conn 128 drivers/gpu/drm/nouveau/nvkm/subdev/bios/dcb.c u32 conn = nvbios_rd32(bios, dcb + 0x00); conn 129 drivers/gpu/drm/nouveau/nvkm/subdev/bios/dcb.c outp->or = (conn & 0x0f000000) >> 24; conn 130 drivers/gpu/drm/nouveau/nvkm/subdev/bios/dcb.c outp->location = (conn & 0x00300000) >> 20; conn 131 drivers/gpu/drm/nouveau/nvkm/subdev/bios/dcb.c outp->bus = (conn & 0x000f0000) >> 16; conn 132 drivers/gpu/drm/nouveau/nvkm/subdev/bios/dcb.c outp->connector = (conn & 0x0000f000) >> 12; conn 133 drivers/gpu/drm/nouveau/nvkm/subdev/bios/dcb.c outp->heads = (conn & 0x00000f00) >> 8; conn 134 drivers/gpu/drm/nouveau/nvkm/subdev/bios/dcb.c outp->i2c_index = (conn & 0x000000f0) >> 4; conn 135 drivers/gpu/drm/nouveau/nvkm/subdev/bios/dcb.c outp->type = (conn & 0x0000000f); conn 127 drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c u32 conn; conn 131 drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c conn = init->outp->connector; conn 132 drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c conn = nvbios_connEp(bios, conn, &ver, &hdr, &connE); conn 133 drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c if (conn) conn 75 drivers/gpu/drm/nouveau/nvkm/subdev/bios/mxm.c mxm_sor_map(struct nvkm_bios *bios, u8 conn) conn 85 drivers/gpu/drm/nouveau/nvkm/subdev/bios/mxm.c if (conn < nvbios_rd08(bios, map + 3)) { conn 87 drivers/gpu/drm/nouveau/nvkm/subdev/bios/mxm.c map += conn; conn 99 drivers/gpu/drm/nouveau/nvkm/subdev/bios/mxm.c return g84_sor_map[conn]; conn 101 drivers/gpu/drm/nouveau/nvkm/subdev/bios/mxm.c return g92_sor_map[conn]; conn 103 drivers/gpu/drm/nouveau/nvkm/subdev/bios/mxm.c return g94_sor_map[conn]; conn 105 drivers/gpu/drm/nouveau/nvkm/subdev/bios/mxm.c return g98_sor_map[conn]; conn 100 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c u8 *conn; conn 146 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c conn = bios->data; conn 147 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c conn += nvbios_connEe(bios, (ctx.outp[0] & 0x0000f000) >> 12, &ver, &len); conn 148 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c type = conn[0]; conn 172 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c conn[0] = type; conn 87 drivers/gpu/drm/tiny/gm12u320.c struct drm_connector conn; conn 581 drivers/gpu/drm/tiny/gm12u320.c drm_connector_helper_add(&gm12u320->conn, &gm12u320_conn_helper_funcs); conn 582 drivers/gpu/drm/tiny/gm12u320.c return drm_connector_init(&gm12u320->dev, &gm12u320->conn, conn 730 drivers/gpu/drm/tiny/gm12u320.c &gm12u320->conn); conn 600 drivers/gpu/drm/vc4/vc4_crtc.c struct drm_connector *conn; conn 613 drivers/gpu/drm/vc4/vc4_crtc.c for_each_new_connector_in_state(state->state, conn, conn_state, i) { conn 634 drivers/gpu/drm/vc4/vc4_crtc.c struct drm_connector *conn; conn 657 drivers/gpu/drm/vc4/vc4_crtc.c for_each_new_connector_in_state(state->state, conn, conn_state, i) { conn 664 drivers/gpu/drm/vc4/vc4_crtc.c if (conn->connector_type == DRM_MODE_CONNECTOR_WRITEBACK) { conn 161 drivers/gpu/drm/vc4/vc4_txp.c static inline struct vc4_txp *connector_to_vc4_txp(struct drm_connector *conn) conn 163 drivers/gpu/drm/vc4/vc4_txp.c return container_of(conn, struct vc4_txp, connector.base); conn 225 drivers/gpu/drm/vc4/vc4_txp.c static int vc4_txp_connector_atomic_check(struct drm_connector *conn, conn 233 drivers/gpu/drm/vc4/vc4_txp.c conn_state = drm_atomic_get_new_connector_state(state, conn); conn 264 drivers/gpu/drm/vc4/vc4_txp.c static void vc4_txp_connector_atomic_commit(struct drm_connector *conn, conn 267 drivers/gpu/drm/vc4/vc4_txp.c struct vc4_txp *txp = connector_to_vc4_txp(conn); conn 254 drivers/gpu/drm/virtio/virtgpu_display.c struct drm_connector *connector = &output->conn; conn 127 drivers/gpu/drm/virtio/virtgpu_drv.h struct drm_connector conn; conn 139 drivers/gpu/drm/virtio/virtgpu_drv.h container_of(x, struct virtio_gpu_output, conn) conn 634 drivers/gpu/drm/virtio/virtgpu_vq.c new_edid = drm_do_get_edid(&output->conn, virtio_get_edid_block, resp); conn 635 drivers/gpu/drm/virtio/virtgpu_vq.c drm_connector_update_edid_property(&output->conn, new_edid); conn 114 drivers/gpu/drm/xen/xen_drm_front.h struct drm_connector conn; conn 24 drivers/gpu/drm/xen/xen_drm_front_conn.c return container_of(connector, struct xen_drm_front_drm_pipeline, conn); conn 231 drivers/gpu/drm/xen/xen_drm_front_evtchnl.c int ret, conn; conn 244 drivers/gpu/drm/xen/xen_drm_front_evtchnl.c for (conn = 0; conn < cfg->num_connectors; conn++) { conn 245 drivers/gpu/drm/xen/xen_drm_front_evtchnl.c ret = evtchnl_alloc(front_info, conn, conn 246 drivers/gpu/drm/xen/xen_drm_front_evtchnl.c &front_info->evt_pairs[conn].req, conn 253 drivers/gpu/drm/xen/xen_drm_front_evtchnl.c ret = evtchnl_alloc(front_info, conn, conn 254 drivers/gpu/drm/xen/xen_drm_front_evtchnl.c &front_info->evt_pairs[conn].evt, conn 298 drivers/gpu/drm/xen/xen_drm_front_evtchnl.c int ret, conn; conn 310 drivers/gpu/drm/xen/xen_drm_front_evtchnl.c for (conn = 0; conn < plat_data->num_connectors; conn++) { conn 311 drivers/gpu/drm/xen/xen_drm_front_evtchnl.c ret = evtchnl_publish(xbt, &front_info->evt_pairs[conn].req, conn 312 drivers/gpu/drm/xen/xen_drm_front_evtchnl.c plat_data->connectors[conn].xenstore_path, conn 318 drivers/gpu/drm/xen/xen_drm_front_evtchnl.c ret = evtchnl_publish(xbt, &front_info->evt_pairs[conn].evt, conn 319 drivers/gpu/drm/xen/xen_drm_front_evtchnl.c plat_data->connectors[conn].xenstore_path, conn 312 drivers/gpu/drm/xen/xen_drm_front_kms.c ret = xen_drm_front_conn_init(drm_info, &pipeline->conn); conn 321 drivers/gpu/drm/xen/xen_drm_front_kms.c &pipeline->conn); conn 181 drivers/hwtracing/coresight/coresight-platform.c struct coresight_connection *conn) conn 215 drivers/hwtracing/coresight/coresight-platform.c conn->outport = endpoint.port; conn 224 drivers/hwtracing/coresight/coresight-platform.c conn->child_fwnode = fwnode_handle_get(rdev_fwnode); conn 225 drivers/hwtracing/coresight/coresight-platform.c conn->child_port = rendpoint.port; conn 241 drivers/hwtracing/coresight/coresight-platform.c struct coresight_connection *conn; conn 270 drivers/hwtracing/coresight/coresight-platform.c conn = pdata->conns; conn 283 drivers/hwtracing/coresight/coresight-platform.c ret = of_coresight_parse_endpoint(dev, ep, conn); conn 286 drivers/hwtracing/coresight/coresight-platform.c conn++; /* Fall through */ conn 591 drivers/hwtracing/coresight/coresight-platform.c struct coresight_connection *conn) conn 616 drivers/hwtracing/coresight/coresight-platform.c conn->outport = fields[0].integer.value; conn 617 drivers/hwtracing/coresight/coresight-platform.c conn->child_port = fields[1].integer.value; conn 629 drivers/hwtracing/coresight/coresight-platform.c conn->child_fwnode = fwnode_handle_get(&r_adev->fwnode); conn 101 drivers/hwtracing/coresight/coresight.c struct coresight_connection *conn; conn 104 drivers/hwtracing/coresight/coresight.c conn = &parent->pdata->conns[i]; conn 105 drivers/hwtracing/coresight/coresight.c if (conn->child_dev == csdev) conn 106 drivers/hwtracing/coresight/coresight.c return conn->child_port; conn 119 drivers/hwtracing/coresight/coresight.c struct coresight_connection *conn; conn 122 drivers/hwtracing/coresight/coresight.c conn = &csdev->pdata->conns[i]; conn 123 drivers/hwtracing/coresight/coresight.c if (conn->child_dev == child) conn 124 drivers/hwtracing/coresight/coresight.c return conn->outport; conn 974 drivers/hwtracing/coresight/coresight.c struct coresight_connection *conn; conn 991 drivers/hwtracing/coresight/coresight.c conn = &i_csdev->pdata->conns[i]; conn 994 drivers/hwtracing/coresight/coresight.c if (conn->child_dev == NULL) { conn 996 drivers/hwtracing/coresight/coresight.c if (conn->child_fwnode == csdev->dev.fwnode) conn 997 drivers/hwtracing/coresight/coresight.c conn->child_dev = csdev; conn 1029 drivers/hwtracing/coresight/coresight.c struct coresight_connection *conn = &csdev->pdata->conns[i]; conn 1032 drivers/hwtracing/coresight/coresight.c dev = bus_find_device_by_fwnode(&coresight_bustype, conn->child_fwnode); conn 1034 drivers/hwtracing/coresight/coresight.c conn->child_dev = to_coresight_device(dev); conn 1039 drivers/hwtracing/coresight/coresight.c conn->child_dev = NULL; conn 1048 drivers/hwtracing/coresight/coresight.c struct coresight_connection *conn; conn 1062 drivers/hwtracing/coresight/coresight.c conn = &iterator->pdata->conns[i]; conn 1064 drivers/hwtracing/coresight/coresight.c if (conn->child_dev == NULL) conn 1067 drivers/hwtracing/coresight/coresight.c if (csdev->dev.fwnode == conn->child_fwnode) { conn 1069 drivers/hwtracing/coresight/coresight.c conn->child_dev = NULL; conn 1075 drivers/hwtracing/coresight/coresight.c fwnode_handle_put(conn->child_fwnode); conn 139 drivers/infiniband/core/cma.c *data_len = ev->param.conn.private_data_len; conn 140 drivers/infiniband/core/cma.c p = ev->param.conn.private_data; conn 1910 drivers/infiniband/core/cma.c event->param.conn.private_data = private_data; conn 1911 drivers/infiniband/core/cma.c event->param.conn.private_data_len = IB_CM_REP_PRIVATE_DATA_SIZE; conn 1912 drivers/infiniband/core/cma.c event->param.conn.responder_resources = rep_data->responder_resources; conn 1913 drivers/infiniband/core/cma.c event->param.conn.initiator_depth = rep_data->initiator_depth; conn 1914 drivers/infiniband/core/cma.c event->param.conn.flow_control = rep_data->flow_control; conn 1915 drivers/infiniband/core/cma.c event->param.conn.rnr_retry_count = rep_data->rnr_retry_count; conn 1916 drivers/infiniband/core/cma.c event->param.conn.srq = rep_data->srq; conn 1917 drivers/infiniband/core/cma.c event->param.conn.qp_num = rep_data->remote_qpn; conn 1979 drivers/infiniband/core/cma.c event.param.conn.private_data = ib_event->private_data; conn 1980 drivers/infiniband/core/cma.c event.param.conn.private_data_len = IB_CM_REJ_PRIVATE_DATA_SIZE; conn 2114 drivers/infiniband/core/cma.c event->param.conn.private_data = private_data + offset; conn 2115 drivers/infiniband/core/cma.c event->param.conn.private_data_len = IB_CM_REQ_PRIVATE_DATA_SIZE - offset; conn 2116 drivers/infiniband/core/cma.c event->param.conn.responder_resources = req_data->responder_resources; conn 2117 drivers/infiniband/core/cma.c event->param.conn.initiator_depth = req_data->initiator_depth; conn 2118 drivers/infiniband/core/cma.c event->param.conn.flow_control = req_data->flow_control; conn 2119 drivers/infiniband/core/cma.c event->param.conn.retry_count = req_data->retry_count; conn 2120 drivers/infiniband/core/cma.c event->param.conn.rnr_retry_count = req_data->rnr_retry_count; conn 2121 drivers/infiniband/core/cma.c event->param.conn.srq = req_data->srq; conn 2122 drivers/infiniband/core/cma.c event->param.conn.qp_num = req_data->remote_qpn; conn 2289 drivers/infiniband/core/cma.c event.param.conn.initiator_depth = iw_event->ird; conn 2290 drivers/infiniband/core/cma.c event.param.conn.responder_resources = iw_event->ord; conn 2306 drivers/infiniband/core/cma.c event.param.conn.initiator_depth = iw_event->ird; conn 2307 drivers/infiniband/core/cma.c event.param.conn.responder_resources = iw_event->ord; conn 2314 drivers/infiniband/core/cma.c event.param.conn.private_data = iw_event->private_data; conn 2315 drivers/infiniband/core/cma.c event.param.conn.private_data_len = iw_event->private_data_len; conn 2342 drivers/infiniband/core/cma.c event.param.conn.private_data = iw_event->private_data; conn 2343 drivers/infiniband/core/cma.c event.param.conn.private_data_len = iw_event->private_data_len; conn 2344 drivers/infiniband/core/cma.c event.param.conn.initiator_depth = iw_event->ird; conn 2345 drivers/infiniband/core/cma.c event.param.conn.responder_resources = iw_event->ord; conn 360 drivers/infiniband/core/ucma.c ucma_copy_conn_event(&uevent->resp.param.conn, conn 361 drivers/infiniband/core/ucma.c &event->param.conn); conn 124 drivers/infiniband/ulp/iser/iscsi_iser.c iscsi_iser_recv(struct iscsi_conn *conn, struct iscsi_hdr *hdr, conn 143 drivers/infiniband/ulp/iser/iscsi_iser.c rc = iscsi_complete_pdu(conn, hdr, rx_data, rx_data_len); conn 149 drivers/infiniband/ulp/iser/iscsi_iser.c iscsi_conn_failure(conn, rc); conn 186 drivers/infiniband/ulp/iser/iscsi_iser.c struct iser_conn *iser_conn = task->conn->dd_data; conn 269 drivers/infiniband/ulp/iser/iscsi_iser.c iscsi_iser_mtask_xmit(struct iscsi_conn *conn, struct iscsi_task *task) conn 273 drivers/infiniband/ulp/iser/iscsi_iser.c iser_dbg("mtask xmit [cid %d itt 0x%x]\n", conn->id, task->itt); conn 275 drivers/infiniband/ulp/iser/iscsi_iser.c error = iser_send_control(conn, task); conn 287 drivers/infiniband/ulp/iser/iscsi_iser.c iscsi_iser_task_xmit_unsol_data(struct iscsi_conn *conn, conn 302 drivers/infiniband/ulp/iser/iscsi_iser.c error = iser_send_data_out(conn, task, &hdr); conn 325 drivers/infiniband/ulp/iser/iscsi_iser.c struct iscsi_conn *conn = task->conn; conn 330 drivers/infiniband/ulp/iser/iscsi_iser.c return iscsi_iser_mtask_xmit(conn, task); conn 341 drivers/infiniband/ulp/iser/iscsi_iser.c conn->id, task->itt); conn 345 drivers/infiniband/ulp/iser/iscsi_iser.c error = iser_send_command(conn, task); conn 353 drivers/infiniband/ulp/iser/iscsi_iser.c error = iscsi_iser_task_xmit_unsol_data(conn, task); conn 371 drivers/infiniband/ulp/iser/iscsi_iser.c struct iser_conn *iser_conn = task->conn->dd_data; conn 428 drivers/infiniband/ulp/iser/iscsi_iser.c struct iscsi_conn *conn; conn 434 drivers/infiniband/ulp/iser/iscsi_iser.c conn = cls_conn->dd_data; conn 440 drivers/infiniband/ulp/iser/iscsi_iser.c conn->max_recv_dlength = ISER_RECV_DATA_SEG_LEN; conn 462 drivers/infiniband/ulp/iser/iscsi_iser.c struct iscsi_conn *conn = cls_conn->dd_data; conn 489 drivers/infiniband/ulp/iser/iscsi_iser.c error = iser_alloc_rx_descriptors(iser_conn, conn->session); conn 496 drivers/infiniband/ulp/iser/iscsi_iser.c iser_info("binding iscsi conn %p to iser_conn %p\n", conn, iser_conn); conn 498 drivers/infiniband/ulp/iser/iscsi_iser.c conn->dd_data = iser_conn; conn 499 drivers/infiniband/ulp/iser/iscsi_iser.c iser_conn->iscsi_conn = conn; conn 540 drivers/infiniband/ulp/iser/iscsi_iser.c struct iscsi_conn *conn = cls_conn->dd_data; conn 541 drivers/infiniband/ulp/iser/iscsi_iser.c struct iser_conn *iser_conn = conn->dd_data; conn 543 drivers/infiniband/ulp/iser/iscsi_iser.c iser_info("stopping iscsi_conn: %p, iser_conn: %p\n", conn, iser_conn); conn 557 drivers/infiniband/ulp/iser/iscsi_iser.c conn->dd_data = NULL; conn 751 drivers/infiniband/ulp/iser/iscsi_iser.c struct iscsi_conn *conn = cls_conn->dd_data; conn 753 drivers/infiniband/ulp/iser/iscsi_iser.c stats->txdata_octets = conn->txdata_octets; conn 754 drivers/infiniband/ulp/iser/iscsi_iser.c stats->rxdata_octets = conn->rxdata_octets; conn 755 drivers/infiniband/ulp/iser/iscsi_iser.c stats->scsicmd_pdus = conn->scsicmd_pdus_cnt; conn 756 drivers/infiniband/ulp/iser/iscsi_iser.c stats->dataout_pdus = conn->dataout_pdus_cnt; conn 757 drivers/infiniband/ulp/iser/iscsi_iser.c stats->scsirsp_pdus = conn->scsirsp_pdus_cnt; conn 758 drivers/infiniband/ulp/iser/iscsi_iser.c stats->datain_pdus = conn->datain_pdus_cnt; /* always 0 */ conn 759 drivers/infiniband/ulp/iser/iscsi_iser.c stats->r2t_pdus = conn->r2t_pdus_cnt; /* always 0 */ conn 760 drivers/infiniband/ulp/iser/iscsi_iser.c stats->tmfcmd_pdus = conn->tmfcmd_pdus_cnt; conn 761 drivers/infiniband/ulp/iser/iscsi_iser.c stats->tmfrsp_pdus = conn->tmfrsp_pdus_cnt; conn 553 drivers/infiniband/ulp/iser/iscsi_iser.h int iser_send_control(struct iscsi_conn *conn, conn 556 drivers/infiniband/ulp/iser/iscsi_iser.h int iser_send_command(struct iscsi_conn *conn, conn 559 drivers/infiniband/ulp/iser/iscsi_iser.h int iser_send_data_out(struct iscsi_conn *conn, conn 563 drivers/infiniband/ulp/iser/iscsi_iser.h void iscsi_iser_recv(struct iscsi_conn *conn, conn 323 drivers/infiniband/ulp/iser/iser_initiator.c static int iser_post_rx_bufs(struct iscsi_conn *conn, struct iscsi_hdr *req) conn 325 drivers/infiniband/ulp/iser/iser_initiator.c struct iser_conn *iser_conn = conn->dd_data; conn 327 drivers/infiniband/ulp/iser/iser_initiator.c struct iscsi_session *session = conn->session; conn 362 drivers/infiniband/ulp/iser/iser_initiator.c int iser_send_command(struct iscsi_conn *conn, conn 365 drivers/infiniband/ulp/iser/iser_initiator.c struct iser_conn *iser_conn = conn->dd_data; conn 426 drivers/infiniband/ulp/iser/iser_initiator.c iser_err("conn %p failed task->itt %d err %d\n",conn, task->itt, err); conn 433 drivers/infiniband/ulp/iser/iser_initiator.c int iser_send_data_out(struct iscsi_conn *conn, conn 437 drivers/infiniband/ulp/iser/iser_initiator.c struct iser_conn *iser_conn = conn->dd_data; conn 492 drivers/infiniband/ulp/iser/iser_initiator.c iser_err("conn %p failed err %d\n", conn, err); conn 496 drivers/infiniband/ulp/iser/iser_initiator.c int iser_send_control(struct iscsi_conn *conn, conn 499 drivers/infiniband/ulp/iser/iser_initiator.c struct iser_conn *iser_conn = conn->dd_data; conn 519 drivers/infiniband/ulp/iser/iser_initiator.c if (task != conn->login_task) { conn 538 drivers/infiniband/ulp/iser/iser_initiator.c if (task == conn->login_task) { conn 544 drivers/infiniband/ulp/iser/iser_initiator.c err = iser_post_rx_bufs(conn, task->hdr); conn 554 drivers/infiniband/ulp/iser/iser_initiator.c iser_err("conn %p failed err %d\n",conn, err); conn 854 drivers/infiniband/ulp/iser/iser_verbs.c iser_connected_handler(cma_id, event->param.conn.private_data); conn 43 drivers/infiniband/ulp/isert/ib_isert.c isert_put_response(struct iscsi_conn *conn, struct iscsi_cmd *cmd); conn 57 drivers/infiniband/ulp/isert/ib_isert.c isert_prot_cmd(struct isert_conn *conn, struct se_cmd *cmd) conn 59 drivers/infiniband/ulp/isert/ib_isert.c return (conn->pi_support && conn 530 drivers/infiniband/ulp/isert/ib_isert.c isert_set_nego_params(isert_conn, &event->param.conn); conn 722 drivers/infiniband/ulp/isert/ib_isert.c iscsit_cause_connection_reinstatement(isert_conn->conn, 0); conn 989 drivers/infiniband/ulp/isert/ib_isert.c isert_put_login_tx(struct iscsi_conn *conn, struct iscsi_login *login, conn 992 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; conn 1056 drivers/infiniband/ulp/isert/ib_isert.c struct iscsi_conn *conn = isert_conn->conn; conn 1057 drivers/infiniband/ulp/isert/ib_isert.c struct iscsi_login *login = conn->conn_login; conn 1097 drivers/infiniband/ulp/isert/ib_isert.c schedule_delayed_work(&conn->login_work, 0); conn 1101 drivers/infiniband/ulp/isert/ib_isert.c *isert_allocate_cmd(struct iscsi_conn *conn, struct iser_rx_desc *rx_desc) conn 1103 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; conn 1107 drivers/infiniband/ulp/isert/ib_isert.c cmd = iscsit_allocate_cmd(conn, TASK_INTERRUPTIBLE); conn 1113 drivers/infiniband/ulp/isert/ib_isert.c isert_cmd->conn = isert_conn; conn 1125 drivers/infiniband/ulp/isert/ib_isert.c struct iscsi_conn *conn = isert_conn->conn; conn 1131 drivers/infiniband/ulp/isert/ib_isert.c rc = iscsit_setup_scsi_cmd(conn, cmd, buf); conn 1142 drivers/infiniband/ulp/isert/ib_isert.c rc = iscsit_process_scsi_cmd(conn, cmd, hdr); conn 1178 drivers/infiniband/ulp/isert/ib_isert.c rc = iscsit_sequence_cmd(conn, cmd, buf, hdr->cmdsn); conn 1193 drivers/infiniband/ulp/isert/ib_isert.c struct iscsi_conn *conn = isert_conn->conn; conn 1199 drivers/infiniband/ulp/isert/ib_isert.c rc = iscsit_check_dataout_hdr(conn, buf, &cmd); conn 1258 drivers/infiniband/ulp/isert/ib_isert.c struct iscsi_conn *conn = isert_conn->conn; conn 1262 drivers/infiniband/ulp/isert/ib_isert.c rc = iscsit_setup_nop_out(conn, cmd, hdr); conn 1269 drivers/infiniband/ulp/isert/ib_isert.c return iscsit_process_nop_out(conn, cmd, hdr); conn 1277 drivers/infiniband/ulp/isert/ib_isert.c struct iscsi_conn *conn = isert_conn->conn; conn 1282 drivers/infiniband/ulp/isert/ib_isert.c rc = iscsit_setup_text_cmd(conn, cmd, hdr); conn 1295 drivers/infiniband/ulp/isert/ib_isert.c return iscsit_process_text_cmd(conn, cmd, hdr); conn 1304 drivers/infiniband/ulp/isert/ib_isert.c struct iscsi_conn *conn = isert_conn->conn; conn 1310 drivers/infiniband/ulp/isert/ib_isert.c if (conn->sess->sess_ops->SessionType && conn 1319 drivers/infiniband/ulp/isert/ib_isert.c cmd = isert_allocate_cmd(conn, rx_desc); conn 1334 drivers/infiniband/ulp/isert/ib_isert.c cmd = isert_allocate_cmd(conn, rx_desc); conn 1347 drivers/infiniband/ulp/isert/ib_isert.c cmd = isert_allocate_cmd(conn, rx_desc); conn 1351 drivers/infiniband/ulp/isert/ib_isert.c ret = iscsit_handle_task_mgt_cmd(conn, cmd, conn 1355 drivers/infiniband/ulp/isert/ib_isert.c cmd = isert_allocate_cmd(conn, rx_desc); conn 1359 drivers/infiniband/ulp/isert/ib_isert.c ret = iscsit_handle_logout_cmd(conn, cmd, (unsigned char *)hdr); conn 1363 drivers/infiniband/ulp/isert/ib_isert.c cmd = iscsit_find_cmd_from_itt(conn, hdr->itt); conn 1365 drivers/infiniband/ulp/isert/ib_isert.c cmd = isert_allocate_cmd(conn, rx_desc); conn 1409 drivers/infiniband/ulp/isert/ib_isert.c iscsit_cause_connection_reinstatement(isert_conn->conn, 0); conn 1470 drivers/infiniband/ulp/isert/ib_isert.c if (isert_conn->conn) { conn 1471 drivers/infiniband/ulp/isert/ib_isert.c struct iscsi_login *login = isert_conn->conn->conn_login; conn 1486 drivers/infiniband/ulp/isert/ib_isert.c isert_rdma_rw_ctx_destroy(struct isert_cmd *cmd, struct isert_conn *conn) conn 1494 drivers/infiniband/ulp/isert/ib_isert.c if (isert_prot_cmd(conn, se_cmd)) { conn 1495 drivers/infiniband/ulp/isert/ib_isert.c rdma_rw_ctx_destroy_signature(&cmd->rw, conn->qp, conn 1496 drivers/infiniband/ulp/isert/ib_isert.c conn->cm_id->port_num, se_cmd->t_data_sg, conn 1500 drivers/infiniband/ulp/isert/ib_isert.c rdma_rw_ctx_destroy(&cmd->rw, conn->qp, conn->cm_id->port_num, conn 1511 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = isert_cmd->conn; conn 1512 drivers/infiniband/ulp/isert/ib_isert.c struct iscsi_conn *conn = isert_conn->conn; conn 1519 drivers/infiniband/ulp/isert/ib_isert.c spin_lock_bh(&conn->cmd_lock); conn 1522 drivers/infiniband/ulp/isert/ib_isert.c spin_unlock_bh(&conn->cmd_lock); conn 1544 drivers/infiniband/ulp/isert/ib_isert.c spin_lock_bh(&conn->cmd_lock); conn 1547 drivers/infiniband/ulp/isert/ib_isert.c spin_unlock_bh(&conn->cmd_lock); conn 1559 drivers/infiniband/ulp/isert/ib_isert.c spin_lock_bh(&conn->cmd_lock); conn 1562 drivers/infiniband/ulp/isert/ib_isert.c spin_unlock_bh(&conn->cmd_lock); conn 1665 drivers/infiniband/ulp/isert/ib_isert.c iscsit_cause_connection_reinstatement(isert_conn->conn, 0); conn 1688 drivers/infiniband/ulp/isert/ib_isert.c ret = isert_put_response(isert_conn->conn, isert_cmd->iscsi_cmd); conn 1708 drivers/infiniband/ulp/isert/ib_isert.c iscsit_cause_connection_reinstatement(isert_conn->conn, 0); conn 1744 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = isert_cmd->conn; conn 1752 drivers/infiniband/ulp/isert/ib_isert.c iscsit_tmr_post_handler(cmd, cmd->conn); conn 1761 drivers/infiniband/ulp/isert/ib_isert.c iscsit_logout_post_handler(cmd, cmd->conn); conn 1780 drivers/infiniband/ulp/isert/ib_isert.c iscsit_cause_connection_reinstatement(isert_conn->conn, 0); conn 1797 drivers/infiniband/ulp/isert/ib_isert.c iscsit_cause_connection_reinstatement(isert_conn->conn, 0); conn 1841 drivers/infiniband/ulp/isert/ib_isert.c isert_put_response(struct iscsi_conn *conn, struct iscsi_cmd *cmd) conn 1844 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; conn 1850 drivers/infiniband/ulp/isert/ib_isert.c iscsit_build_rsp_pdu(cmd, conn, true, hdr); conn 1892 drivers/infiniband/ulp/isert/ib_isert.c isert_aborted_task(struct iscsi_conn *conn, struct iscsi_cmd *cmd) conn 1895 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; conn 1897 drivers/infiniband/ulp/isert/ib_isert.c spin_lock_bh(&conn->cmd_lock); conn 1900 drivers/infiniband/ulp/isert/ib_isert.c spin_unlock_bh(&conn->cmd_lock); conn 1908 drivers/infiniband/ulp/isert/ib_isert.c isert_get_sup_prot_ops(struct iscsi_conn *conn) conn 1910 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; conn 1913 drivers/infiniband/ulp/isert/ib_isert.c if (conn->tpg->tpg_attrib.t10_pi) { conn 1928 drivers/infiniband/ulp/isert/ib_isert.c isert_put_nopin(struct iscsi_cmd *cmd, struct iscsi_conn *conn, conn 1932 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; conn 1936 drivers/infiniband/ulp/isert/ib_isert.c iscsit_build_nopin_rsp(cmd, conn, (struct iscsi_nopin *) conn 1948 drivers/infiniband/ulp/isert/ib_isert.c isert_put_logout_rsp(struct iscsi_cmd *cmd, struct iscsi_conn *conn) conn 1951 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; conn 1955 drivers/infiniband/ulp/isert/ib_isert.c iscsit_build_logout_rsp(cmd, conn, (struct iscsi_logout_rsp *) conn 1966 drivers/infiniband/ulp/isert/ib_isert.c isert_put_tm_rsp(struct iscsi_cmd *cmd, struct iscsi_conn *conn) conn 1969 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; conn 1973 drivers/infiniband/ulp/isert/ib_isert.c iscsit_build_task_mgt_rsp(cmd, conn, (struct iscsi_tm_rsp *) conn 1984 drivers/infiniband/ulp/isert/ib_isert.c isert_put_reject(struct iscsi_cmd *cmd, struct iscsi_conn *conn) conn 1987 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; conn 1996 drivers/infiniband/ulp/isert/ib_isert.c iscsit_build_reject(cmd, conn, hdr); conn 2019 drivers/infiniband/ulp/isert/ib_isert.c isert_put_text_rsp(struct iscsi_cmd *cmd, struct iscsi_conn *conn) conn 2022 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; conn 2030 drivers/infiniband/ulp/isert/ib_isert.c rc = iscsit_build_text_rsp(cmd, conn, hdr, ISCSI_INFINIBAND); conn 2118 drivers/infiniband/ulp/isert/ib_isert.c isert_rdma_rw_ctx_post(struct isert_cmd *cmd, struct isert_conn *conn, conn 2123 drivers/infiniband/ulp/isert/ib_isert.c u8 port_num = conn->cm_id->port_num; conn 2141 drivers/infiniband/ulp/isert/ib_isert.c if (isert_prot_cmd(conn, se_cmd)) { conn 2149 drivers/infiniband/ulp/isert/ib_isert.c ret = rdma_rw_ctx_signature_init(&cmd->rw, conn->qp, port_num, conn 2154 drivers/infiniband/ulp/isert/ib_isert.c ret = rdma_rw_ctx_init(&cmd->rw, conn->qp, port_num, conn 2167 drivers/infiniband/ulp/isert/ib_isert.c ret = rdma_rw_ctx_post(&cmd->rw, conn->qp, port_num, cqe, chain_wr); conn 2174 drivers/infiniband/ulp/isert/ib_isert.c isert_put_datain(struct iscsi_conn *conn, struct iscsi_cmd *cmd) conn 2178 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; conn 2195 drivers/infiniband/ulp/isert/ib_isert.c iscsit_build_rsp_pdu(cmd, conn, true, (struct iscsi_scsi_rsp *) conn 2217 drivers/infiniband/ulp/isert/ib_isert.c isert_get_dataout(struct iscsi_conn *conn, struct iscsi_cmd *cmd, bool recovery) conn 2226 drivers/infiniband/ulp/isert/ib_isert.c ret = isert_rdma_rw_ctx_post(isert_cmd, conn->context, conn 2235 drivers/infiniband/ulp/isert/ib_isert.c isert_immediate_queue(struct iscsi_conn *conn, struct iscsi_cmd *cmd, int state) conn 2242 drivers/infiniband/ulp/isert/ib_isert.c spin_lock_bh(&conn->cmd_lock); conn 2244 drivers/infiniband/ulp/isert/ib_isert.c spin_unlock_bh(&conn->cmd_lock); conn 2248 drivers/infiniband/ulp/isert/ib_isert.c ret = isert_put_nopin(cmd, conn, false); conn 2260 drivers/infiniband/ulp/isert/ib_isert.c isert_response_queue(struct iscsi_conn *conn, struct iscsi_cmd *cmd, int state) conn 2262 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; conn 2267 drivers/infiniband/ulp/isert/ib_isert.c ret = isert_put_logout_rsp(cmd, conn); conn 2272 drivers/infiniband/ulp/isert/ib_isert.c ret = isert_put_nopin(cmd, conn, true); conn 2275 drivers/infiniband/ulp/isert/ib_isert.c ret = isert_put_tm_rsp(cmd, conn); conn 2278 drivers/infiniband/ulp/isert/ib_isert.c ret = isert_put_reject(cmd, conn); conn 2281 drivers/infiniband/ulp/isert/ib_isert.c ret = isert_put_text_rsp(cmd, conn); conn 2288 drivers/infiniband/ulp/isert/ib_isert.c ret = isert_put_response(conn, cmd); conn 2410 drivers/infiniband/ulp/isert/ib_isert.c isert_get_login_rx(struct iscsi_conn *conn, struct iscsi_login *login) conn 2412 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; conn 2435 drivers/infiniband/ulp/isert/ib_isert.c isert_info("before login_comp conn: %p\n", conn); conn 2446 drivers/infiniband/ulp/isert/ib_isert.c isert_set_conn_info(struct iscsi_np *np, struct iscsi_conn *conn, conn 2452 drivers/infiniband/ulp/isert/ib_isert.c conn->login_family = np->np_sockaddr.ss_family; conn 2454 drivers/infiniband/ulp/isert/ib_isert.c conn->login_sockaddr = cm_route->addr.dst_addr; conn 2455 drivers/infiniband/ulp/isert/ib_isert.c conn->local_sockaddr = cm_route->addr.src_addr; conn 2459 drivers/infiniband/ulp/isert/ib_isert.c isert_accept_np(struct iscsi_np *np, struct iscsi_conn *conn) conn 2493 drivers/infiniband/ulp/isert/ib_isert.c conn->context = isert_conn; conn 2494 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->conn = conn; conn 2497 drivers/infiniband/ulp/isert/ib_isert.c isert_set_conn_info(np, conn, isert_conn); conn 2567 drivers/infiniband/ulp/isert/ib_isert.c struct iscsi_conn *conn = isert_conn->conn; conn 2573 drivers/infiniband/ulp/isert/ib_isert.c wait_for_completion_timeout(&conn->conn_logout_comp, conn 2579 drivers/infiniband/ulp/isert/ib_isert.c isert_wait4cmds(struct iscsi_conn *conn) conn 2581 drivers/infiniband/ulp/isert/ib_isert.c isert_info("iscsi_conn %p\n", conn); conn 2583 drivers/infiniband/ulp/isert/ib_isert.c if (conn->sess) { conn 2584 drivers/infiniband/ulp/isert/ib_isert.c target_sess_cmd_list_set_waiting(conn->sess->se_sess); conn 2585 drivers/infiniband/ulp/isert/ib_isert.c target_wait_for_sess_cmds(conn->sess->se_sess); conn 2599 drivers/infiniband/ulp/isert/ib_isert.c isert_put_unsol_pending_cmds(struct iscsi_conn *conn) conn 2604 drivers/infiniband/ulp/isert/ib_isert.c spin_lock_bh(&conn->cmd_lock); conn 2605 drivers/infiniband/ulp/isert/ib_isert.c list_for_each_entry_safe(cmd, tmp, &conn->conn_cmd_list, i_conn_node) { conn 2607 drivers/infiniband/ulp/isert/ib_isert.c (cmd->write_data_done < conn->sess->sess_ops->FirstBurstLength) && conn 2611 drivers/infiniband/ulp/isert/ib_isert.c spin_unlock_bh(&conn->cmd_lock); conn 2618 drivers/infiniband/ulp/isert/ib_isert.c isert_info("conn %p dropping cmd %p\n", conn, cmd); conn 2624 drivers/infiniband/ulp/isert/ib_isert.c static void isert_wait_conn(struct iscsi_conn *conn) conn 2626 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; conn 2635 drivers/infiniband/ulp/isert/ib_isert.c isert_put_unsol_pending_cmds(conn); conn 2636 drivers/infiniband/ulp/isert/ib_isert.c isert_wait4cmds(conn); conn 2642 drivers/infiniband/ulp/isert/ib_isert.c static void isert_free_conn(struct iscsi_conn *conn) conn 2644 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; conn 2650 drivers/infiniband/ulp/isert/ib_isert.c static void isert_get_rx_pdu(struct iscsi_conn *conn) conn 122 drivers/infiniband/ulp/isert/ib_isert.h struct isert_conn *conn; conn 151 drivers/infiniband/ulp/isert/ib_isert.h struct iscsi_conn *conn; conn 2780 drivers/infiniband/ulp/srp/ib_srp.c opcode = *(u8 *) event->param.conn.private_data; conn 2784 drivers/infiniband/ulp/srp/ib_srp.c event->param.conn.private_data; conn 2853 drivers/infiniband/ulp/srp/ib_srp.c srp_cm_rep_handler(NULL, event->param.conn.private_data, ch); conn 2538 drivers/infiniband/ulp/srpt/ib_srpt.c if (event->param.conn.private_data_len < sizeof(*req_rdma)) conn 2542 drivers/infiniband/ulp/srpt/ib_srpt.c req_rdma = event->param.conn.private_data; conn 2690 drivers/infiniband/ulp/srpt/ib_srpt.c event->param.conn.private_data, conn 2691 drivers/infiniband/ulp/srpt/ib_srpt.c event->param.conn.private_data_len); conn 86 drivers/isdn/hardware/mISDN/hfcpci.c unsigned char conn; conn 267 drivers/isdn/hardware/mISDN/hfcpci.c hc->hw.conn = 0x09; conn 269 drivers/isdn/hardware/mISDN/hfcpci.c hc->hw.conn = 0x36; /* set data flow directions */ conn 282 drivers/isdn/hardware/mISDN/hfcpci.c Write_hfc(hc, HFCPCI_CONNECT, hc->hw.conn); conn 1338 drivers/isdn/hardware/mISDN/hfcpci.c hc->hw.conn &= ~0x18; conn 1345 drivers/isdn/hardware/mISDN/hfcpci.c hc->hw.conn &= ~0x03; conn 1367 drivers/isdn/hardware/mISDN/hfcpci.c hc->hw.conn &= ~0x18; conn 1374 drivers/isdn/hardware/mISDN/hfcpci.c hc->hw.conn &= ~0x03; conn 1397 drivers/isdn/hardware/mISDN/hfcpci.c hc->hw.conn &= 0xc7; conn 1398 drivers/isdn/hardware/mISDN/hfcpci.c hc->hw.conn |= 0x08; conn 1406 drivers/isdn/hardware/mISDN/hfcpci.c hc->hw.conn &= 0xf8; conn 1407 drivers/isdn/hardware/mISDN/hfcpci.c hc->hw.conn |= 0x01; conn 1422 drivers/isdn/hardware/mISDN/hfcpci.c Write_hfc(hc, HFCPCI_CONNECT, hc->hw.conn); conn 1454 drivers/isdn/hardware/mISDN/hfcpci.c hc->hw.conn &= ~0x18; conn 1464 drivers/isdn/hardware/mISDN/hfcpci.c hc->hw.conn &= ~0x03; conn 1479 drivers/isdn/hardware/mISDN/hfcpci.c hc->hw.conn &= ~0x18; conn 1486 drivers/isdn/hardware/mISDN/hfcpci.c hc->hw.conn &= ~0x03; conn 1497 drivers/isdn/hardware/mISDN/hfcpci.c Write_hfc(hc, HFCPCI_CONNECT, hc->hw.conn); conn 1800 drivers/isdn/hardware/mISDN/hfcpci.c hc->hw.conn = (hc->hw.conn & ~7) | 6; conn 1801 drivers/isdn/hardware/mISDN/hfcpci.c Write_hfc(hc, HFCPCI_CONNECT, hc->hw.conn); conn 1812 drivers/isdn/hardware/mISDN/hfcpci.c hc->hw.conn = (hc->hw.conn & ~0x38) | 0x30; conn 1813 drivers/isdn/hardware/mISDN/hfcpci.c Write_hfc(hc, HFCPCI_CONNECT, hc->hw.conn); conn 1818 drivers/isdn/hardware/mISDN/hfcpci.c hc->hw.conn = (hc->hw.conn & ~0x3f) | 0x09; conn 1819 drivers/isdn/hardware/mISDN/hfcpci.c Write_hfc(hc, HFCPCI_CONNECT, hc->hw.conn); conn 1850 drivers/isdn/hardware/mISDN/hfcpci.c hc->hw.conn = (hc->hw.conn & ~0x3f) | 0x36; conn 1851 drivers/isdn/hardware/mISDN/hfcpci.c Write_hfc(hc, HFCPCI_CONNECT, hc->hw.conn); conn 1856 drivers/isdn/hardware/mISDN/hfcpci.c hc->hw.conn = (hc->hw.conn & ~0x3f) | 0x09; conn 1857 drivers/isdn/hardware/mISDN/hfcpci.c Write_hfc(hc, HFCPCI_CONNECT, hc->hw.conn); conn 242 drivers/media/dvb-core/dvbdev.c if (dvbdev->adapter->conn) { conn 243 drivers/media/dvb-core/dvbdev.c media_device_unregister_entity(dvbdev->adapter->conn); conn 244 drivers/media/dvb-core/dvbdev.c dvbdev->adapter->conn = NULL; conn 617 drivers/media/dvb-core/dvbdev.c struct media_entity *entity, *tuner = NULL, *demod = NULL, *conn; conn 662 drivers/media/dvb-core/dvbdev.c conn = kzalloc(sizeof(*conn), GFP_KERNEL); conn 663 drivers/media/dvb-core/dvbdev.c if (!conn) conn 665 drivers/media/dvb-core/dvbdev.c adap->conn = conn; conn 671 drivers/media/dvb-core/dvbdev.c conn->flags = MEDIA_ENT_FL_CONNECTOR; conn 672 drivers/media/dvb-core/dvbdev.c conn->function = MEDIA_ENT_F_CONN_RF; conn 673 drivers/media/dvb-core/dvbdev.c conn->name = connector_name; conn 676 drivers/media/dvb-core/dvbdev.c ret = media_entity_pads_init(conn, 1, adap->conn_pads); conn 680 drivers/media/dvb-core/dvbdev.c ret = media_device_register_entity(mdev, conn); conn 687 drivers/media/dvb-core/dvbdev.c conn, 0, conn 699 drivers/media/dvb-core/dvbdev.c conn, 0, conn 213 drivers/media/platform/cros-ec-cec/cros-ec-cec.c const char *conn; conn 222 drivers/media/platform/cros-ec-cec/cros-ec-cec.c const char **conn) conn 239 drivers/media/platform/cros-ec-cec/cros-ec-cec.c *conn = m->conn; conn 253 drivers/media/platform/cros-ec-cec/cros-ec-cec.c const char **conn) conn 266 drivers/media/platform/cros-ec-cec/cros-ec-cec.c const char *conn = NULL; conn 269 drivers/media/platform/cros-ec-cec/cros-ec-cec.c hdmi_dev = cros_ec_cec_find_hdmi_dev(&pdev->dev, &conn); conn 294 drivers/media/platform/cros-ec-cec/cros-ec-cec.c cros_ec_cec->notify = cec_notifier_cec_adap_register(hdmi_dev, conn, conn 513 drivers/media/platform/seco-cec/seco-cec.c const char *conn; conn 522 drivers/media/platform/seco-cec/seco-cec.c const char **conn) conn 540 drivers/media/platform/seco-cec/seco-cec.c *conn = m->conn; conn 577 drivers/media/platform/seco-cec/seco-cec.c const char *conn = NULL; conn 581 drivers/media/platform/seco-cec/seco-cec.c hdmi_dev = secocec_cec_find_hdmi_dev(&pdev->dev, &conn); conn 652 drivers/media/platform/seco-cec/seco-cec.c secocec->notifier = cec_notifier_cec_adap_register(hdmi_dev, conn, conn 48 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c static int mlx5_fpga_conn_map_buf(struct mlx5_fpga_conn *conn, conn 57 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c dma_device = &conn->fdev->mdev->pdev->dev; conn 62 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_warn(conn->fdev, "DMA error on sg 0: %d\n", err); conn 74 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_warn(conn->fdev, "DMA error on sg 1: %d\n", err); conn 84 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c static void mlx5_fpga_conn_unmap_buf(struct mlx5_fpga_conn *conn, conn 89 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c dma_device = &conn->fdev->mdev->pdev->dev; conn 99 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c static int mlx5_fpga_conn_post_recv(struct mlx5_fpga_conn *conn, conn 106 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c err = mlx5_fpga_conn_map_buf(conn, buf); conn 110 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c if (unlikely(conn->qp.rq.pc - conn->qp.rq.cc >= conn->qp.rq.size)) { conn 111 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_conn_unmap_buf(conn, buf); conn 115 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c ix = conn->qp.rq.pc & (conn->qp.rq.size - 1); conn 116 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c data = mlx5_wq_cyc_get_wqe(&conn->qp.wq.rq, ix); conn 118 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c data->lkey = cpu_to_be32(conn->fdev->conn_res.mkey.key); conn 121 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.rq.pc++; conn 122 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.rq.bufs[ix] = buf; conn 126 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c *conn->qp.wq.rq.db = cpu_to_be32(conn->qp.rq.pc & 0xffff); conn 131 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c static void mlx5_fpga_conn_notify_hw(struct mlx5_fpga_conn *conn, void *wqe) conn 135 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c *conn->qp.wq.sq.db = cpu_to_be32(conn->qp.sq.pc); conn 138 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_write64(wqe, conn->fdev->conn_res.uar->map + MLX5_BF_OFFSET); conn 141 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c static void mlx5_fpga_conn_post_send(struct mlx5_fpga_conn *conn, conn 149 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c ix = conn->qp.sq.pc & (conn->qp.sq.size - 1); conn 151 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c ctrl = mlx5_wq_cyc_get_wqe(&conn->qp.wq.sq, ix); conn 158 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c data->lkey = cpu_to_be32(conn->fdev->conn_res.mkey.key); conn 166 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c ctrl->opmod_idx_opcode = cpu_to_be32(((conn->qp.sq.pc & 0xffff) << 8) | conn 168 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c ctrl->qpn_ds = cpu_to_be32(size | (conn->qp.mqp.qpn << 8)); conn 170 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.sq.pc++; conn 171 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.sq.bufs[ix] = buf; conn 172 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_conn_notify_hw(conn, ctrl); conn 175 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c int mlx5_fpga_conn_send(struct mlx5_fpga_conn *conn, conn 181 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c if (!conn->qp.active) conn 185 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c err = mlx5_fpga_conn_map_buf(conn, buf); conn 189 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c spin_lock_irqsave(&conn->qp.sq.lock, flags); conn 191 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c if (conn->qp.sq.pc - conn->qp.sq.cc >= conn->qp.sq.size) { conn 192 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c list_add_tail(&buf->list, &conn->qp.sq.backlog); conn 196 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_conn_post_send(conn, buf); conn 199 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c spin_unlock_irqrestore(&conn->qp.sq.lock, flags); conn 203 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c static int mlx5_fpga_conn_post_recv_buf(struct mlx5_fpga_conn *conn) conn 216 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c err = mlx5_fpga_conn_post_recv(conn, buf); conn 250 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c static void mlx5_fpga_conn_rq_cqe(struct mlx5_fpga_conn *conn, conn 256 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c ix = be16_to_cpu(cqe->wqe_counter) & (conn->qp.rq.size - 1); conn 257 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c buf = conn->qp.rq.bufs[ix]; conn 258 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.rq.bufs[ix] = NULL; conn 259 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.rq.cc++; conn 262 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_warn(conn->fdev, "RQ buf %p on FPGA QP %u completion status %d\n", conn 263 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c buf, conn->fpga_qpn, status); conn 265 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_dbg(conn->fdev, "RQ buf %p on FPGA QP %u completion status %d\n", conn 266 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c buf, conn->fpga_qpn, status); conn 268 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_conn_unmap_buf(conn, buf); conn 270 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c if (unlikely(status || !conn->qp.active)) { conn 271 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.active = false; conn 277 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_dbg(conn->fdev, "Message with %u bytes received successfully\n", conn 279 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->recv_cb(conn->cb_arg, buf); conn 282 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c err = mlx5_fpga_conn_post_recv(conn, buf); conn 284 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_warn(conn->fdev, conn 290 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c static void mlx5_fpga_conn_sq_cqe(struct mlx5_fpga_conn *conn, conn 297 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c spin_lock_irqsave(&conn->qp.sq.lock, flags); conn 299 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c ix = be16_to_cpu(cqe->wqe_counter) & (conn->qp.sq.size - 1); conn 300 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c buf = conn->qp.sq.bufs[ix]; conn 301 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.sq.bufs[ix] = NULL; conn 302 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.sq.cc++; conn 305 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c if (unlikely(!list_empty(&conn->qp.sq.backlog))) { conn 306 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c if (likely(conn->qp.active)) { conn 307 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c nextbuf = list_first_entry(&conn->qp.sq.backlog, conn 310 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_conn_post_send(conn, nextbuf); conn 314 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c spin_unlock_irqrestore(&conn->qp.sq.lock, flags); conn 317 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_warn(conn->fdev, "SQ buf %p on FPGA QP %u completion status %d\n", conn 318 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c buf, conn->fpga_qpn, status); conn 320 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_dbg(conn->fdev, "SQ buf %p on FPGA QP %u completion status %d\n", conn 321 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c buf, conn->fpga_qpn, status); conn 323 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_conn_unmap_buf(conn, buf); conn 326 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c buf->complete(conn, conn->fdev, buf, status); conn 329 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.active = false; conn 332 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c static void mlx5_fpga_conn_handle_cqe(struct mlx5_fpga_conn *conn, conn 344 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_conn_sq_cqe(conn, cqe, status); conn 351 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_conn_rq_cqe(conn, cqe, status); conn 354 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_warn(conn->fdev, "Unexpected cqe opcode %u\n", conn 359 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c static void mlx5_fpga_conn_arm_cq(struct mlx5_fpga_conn *conn) conn 361 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_cq_arm(&conn->cq.mcq, MLX5_CQ_DB_REQ_NOT, conn 362 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->fdev->conn_res.uar->map, conn->cq.wq.cc); conn 368 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c struct mlx5_fpga_conn *conn; conn 370 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn = container_of(mcq, struct mlx5_fpga_conn, cq.mcq); conn 371 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_warn(conn->fdev, "CQ event %u on CQ #%u\n", event, mcq->cqn); conn 376 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c struct mlx5_fpga_conn *conn; conn 378 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn = container_of(mqp, struct mlx5_fpga_conn, qp.mqp); conn 379 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_warn(conn->fdev, "QP event %u on QP #%u\n", event, mqp->qpn); conn 382 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c static inline void mlx5_fpga_conn_cqes(struct mlx5_fpga_conn *conn, conn 388 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c cqe = mlx5_cqwq_get_cqe(&conn->cq.wq); conn 393 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_cqwq_pop(&conn->cq.wq); conn 394 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_conn_handle_cqe(conn, cqe); conn 395 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_cqwq_update_db_record(&conn->cq.wq); conn 398 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c tasklet_schedule(&conn->cq.tasklet); conn 402 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_dbg(conn->fdev, "Re-arming CQ with cc# %u\n", conn->cq.wq.cc); conn 405 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_conn_arm_cq(conn); conn 410 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c struct mlx5_fpga_conn *conn = (void *)data; conn 412 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c if (unlikely(!conn->qp.active)) conn 414 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_conn_cqes(conn, MLX5_FPGA_CQ_BUDGET); conn 420 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c struct mlx5_fpga_conn *conn; conn 422 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn = container_of(mcq, struct mlx5_fpga_conn, cq.mcq); conn 423 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c if (unlikely(!conn->qp.active)) conn 425 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_conn_cqes(conn, MLX5_FPGA_CQ_BUDGET); conn 428 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c static int mlx5_fpga_conn_create_cq(struct mlx5_fpga_conn *conn, int cq_size) conn 430 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c struct mlx5_fpga_device *fdev = conn->fdev; conn 448 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c err = mlx5_cqwq_create(mdev, &wqp, temp_cqc, &conn->cq.wq, conn 449 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c &conn->cq.wq_ctrl); conn 453 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c for (i = 0; i < mlx5_cqwq_get_size(&conn->cq.wq); i++) { conn 454 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c cqe = mlx5_cqwq_get_wqe(&conn->cq.wq, i); conn 459 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c sizeof(u64) * conn->cq.wq_ctrl.buf.npages; conn 476 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET(cqc, cqc, log_page_size, conn->cq.wq_ctrl.buf.page_shift - conn 478 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET64(cqc, cqc, dbr_addr, conn->cq.wq_ctrl.db.dma); conn 481 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fill_page_frag_array(&conn->cq.wq_ctrl.buf, pas); conn 483 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c err = mlx5_core_create_cq(mdev, &conn->cq.mcq, in, inlen, out, sizeof(out)); conn 489 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->cq.mcq.cqe_sz = 64; conn 490 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->cq.mcq.set_ci_db = conn->cq.wq_ctrl.db.db; conn 491 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->cq.mcq.arm_db = conn->cq.wq_ctrl.db.db + 1; conn 492 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c *conn->cq.mcq.set_ci_db = 0; conn 493 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c *conn->cq.mcq.arm_db = 0; conn 494 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->cq.mcq.vector = 0; conn 495 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->cq.mcq.comp = mlx5_fpga_conn_cq_complete; conn 496 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->cq.mcq.event = mlx5_fpga_conn_cq_event; conn 497 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->cq.mcq.irqn = irqn; conn 498 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->cq.mcq.uar = fdev->conn_res.uar; conn 499 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c tasklet_init(&conn->cq.tasklet, mlx5_fpga_conn_cq_tasklet, conn 500 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c (unsigned long)conn); conn 502 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_dbg(fdev, "Created CQ #0x%x\n", conn->cq.mcq.cqn); conn 507 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_wq_destroy(&conn->cq.wq_ctrl); conn 512 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c static void mlx5_fpga_conn_destroy_cq(struct mlx5_fpga_conn *conn) conn 514 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c tasklet_disable(&conn->cq.tasklet); conn 515 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c tasklet_kill(&conn->cq.tasklet); conn 516 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_core_destroy_cq(conn->fdev->mdev, &conn->cq.mcq); conn 517 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_wq_destroy(&conn->cq.wq_ctrl); conn 520 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c static int mlx5_fpga_conn_create_wq(struct mlx5_fpga_conn *conn, void *qpc) conn 522 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c struct mlx5_fpga_device *fdev = conn->fdev; conn 529 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c return mlx5_wq_qp_create(mdev, &wqp, qpc, &conn->qp.wq, conn 530 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c &conn->qp.wq_ctrl); conn 533 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c static int mlx5_fpga_conn_create_qp(struct mlx5_fpga_conn *conn, conn 536 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c struct mlx5_fpga_device *fdev = conn->fdev; conn 542 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.rq.pc = 0; conn 543 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.rq.cc = 0; conn 544 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.rq.size = roundup_pow_of_two(rx_size); conn 545 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.sq.pc = 0; conn 546 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.sq.cc = 0; conn 547 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.sq.size = roundup_pow_of_two(tx_size); conn 550 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET(qpc, temp_qpc, log_rq_size, ilog2(conn->qp.rq.size)); conn 551 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET(qpc, temp_qpc, log_sq_size, ilog2(conn->qp.sq.size)); conn 552 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c err = mlx5_fpga_conn_create_wq(conn, temp_qpc); conn 556 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.rq.bufs = kvcalloc(conn->qp.rq.size, conn 557 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c sizeof(conn->qp.rq.bufs[0]), conn 559 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c if (!conn->qp.rq.bufs) { conn 564 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.sq.bufs = kvcalloc(conn->qp.sq.size, conn 565 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c sizeof(conn->qp.sq.bufs[0]), conn 567 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c if (!conn->qp.sq.bufs) { conn 574 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.wq_ctrl.buf.npages; conn 584 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.wq_ctrl.buf.page_shift - MLX5_ADAPTER_PAGE_SHIFT); conn 591 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET(qpc, qpc, log_rq_size, ilog2(conn->qp.rq.size)); conn 593 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET(qpc, qpc, log_sq_size, ilog2(conn->qp.sq.size)); conn 594 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET(qpc, qpc, cqn_snd, conn->cq.mcq.cqn); conn 595 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET(qpc, qpc, cqn_rcv, conn->cq.mcq.cqn); conn 596 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET64(qpc, qpc, dbr_addr, conn->qp.wq_ctrl.db.dma); conn 600 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fill_page_frag_array(&conn->qp.wq_ctrl.buf, conn 603 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c err = mlx5_core_create_qp(mdev, &conn->qp.mqp, in, inlen); conn 607 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.mqp.event = mlx5_fpga_conn_event; conn 608 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_dbg(fdev, "Created QP #0x%x\n", conn->qp.mqp.qpn); conn 613 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c kvfree(conn->qp.sq.bufs); conn 615 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c kvfree(conn->qp.rq.bufs); conn 617 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_wq_destroy(&conn->qp.wq_ctrl); conn 623 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c static void mlx5_fpga_conn_free_recv_bufs(struct mlx5_fpga_conn *conn) conn 627 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c for (ix = 0; ix < conn->qp.rq.size; ix++) { conn 628 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c if (!conn->qp.rq.bufs[ix]) conn 630 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_conn_unmap_buf(conn, conn->qp.rq.bufs[ix]); conn 631 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c kfree(conn->qp.rq.bufs[ix]); conn 632 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.rq.bufs[ix] = NULL; conn 636 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c static void mlx5_fpga_conn_flush_send_bufs(struct mlx5_fpga_conn *conn) conn 641 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c for (ix = 0; ix < conn->qp.sq.size; ix++) { conn 642 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c buf = conn->qp.sq.bufs[ix]; conn 645 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.sq.bufs[ix] = NULL; conn 646 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_conn_unmap_buf(conn, buf); conn 649 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c buf->complete(conn, conn->fdev, buf, MLX5_CQE_SYNDROME_WR_FLUSH_ERR); conn 651 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c list_for_each_entry_safe(buf, temp, &conn->qp.sq.backlog, list) { conn 652 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_conn_unmap_buf(conn, buf); conn 655 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c buf->complete(conn, conn->fdev, buf, MLX5_CQE_SYNDROME_WR_FLUSH_ERR); conn 659 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c static void mlx5_fpga_conn_destroy_qp(struct mlx5_fpga_conn *conn) conn 661 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_core_destroy_qp(conn->fdev->mdev, &conn->qp.mqp); conn 662 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_conn_free_recv_bufs(conn); conn 663 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_conn_flush_send_bufs(conn); conn 664 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c kvfree(conn->qp.sq.bufs); conn 665 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c kvfree(conn->qp.rq.bufs); conn 666 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_wq_destroy(&conn->qp.wq_ctrl); conn 669 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c static inline int mlx5_fpga_conn_reset_qp(struct mlx5_fpga_conn *conn) conn 671 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c struct mlx5_core_dev *mdev = conn->fdev->mdev; conn 673 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_dbg(conn->fdev, "Modifying QP %u to RST\n", conn->qp.mqp.qpn); conn 676 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c &conn->qp.mqp); conn 679 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c static inline int mlx5_fpga_conn_init_qp(struct mlx5_fpga_conn *conn) conn 681 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c struct mlx5_fpga_device *fdev = conn->fdev; conn 686 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_dbg(conn->fdev, "Modifying QP %u to INIT\n", conn->qp.mqp.qpn); conn 698 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET(qpc, qpc, pd, conn->fdev->conn_res.pdn); conn 699 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET(qpc, qpc, cqn_snd, conn->cq.mcq.cqn); conn 700 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET(qpc, qpc, cqn_rcv, conn->cq.mcq.cqn); conn 701 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET64(qpc, qpc, dbr_addr, conn->qp.wq_ctrl.db.dma); conn 704 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c &conn->qp.mqp); conn 715 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c static inline int mlx5_fpga_conn_rtr_qp(struct mlx5_fpga_conn *conn) conn 717 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c struct mlx5_fpga_device *fdev = conn->fdev; conn 722 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_dbg(conn->fdev, "QP RTR\n"); conn 732 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET(qpc, qpc, remote_qpn, conn->fpga_qpn); conn 734 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_GET(fpga_qpc, conn->fpga_qpc, next_send_psn)); conn 738 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_ADDR_OF(fpga_qpc, conn->fpga_qpc, fpga_mac_47_32)); conn 742 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.sgid_index); conn 745 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_ADDR_OF(fpga_qpc, conn->fpga_qpc, fpga_ip), conn 749 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c &conn->qp.mqp); conn 760 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c static inline int mlx5_fpga_conn_rts_qp(struct mlx5_fpga_conn *conn) conn 762 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c struct mlx5_fpga_device *fdev = conn->fdev; conn 768 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_dbg(conn->fdev, "QP RTS\n"); conn 780 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_GET(fpga_qpc, conn->fpga_qpc, next_rcv_psn)); conn 786 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c &conn->qp.mqp); conn 797 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c static int mlx5_fpga_conn_connect(struct mlx5_fpga_conn *conn) conn 799 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c struct mlx5_fpga_device *fdev = conn->fdev; conn 802 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET(fpga_qpc, conn->fpga_qpc, state, MLX5_FPGA_QPC_STATE_ACTIVE); conn 803 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c err = mlx5_fpga_modify_qp(conn->fdev->mdev, conn->fpga_qpn, conn 804 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_FPGA_QPC_STATE, &conn->fpga_qpc); conn 810 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c err = mlx5_fpga_conn_reset_qp(conn); conn 816 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c err = mlx5_fpga_conn_init_qp(conn); conn 821 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.active = true; conn 823 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c while (!mlx5_fpga_conn_post_recv_buf(conn)) conn 826 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c err = mlx5_fpga_conn_rtr_qp(conn); conn 832 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c err = mlx5_fpga_conn_rts_qp(conn); conn 840 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_conn_free_recv_bufs(conn); conn 842 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET(fpga_qpc, conn->fpga_qpc, state, MLX5_FPGA_QPC_STATE_INIT); conn 843 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c if (mlx5_fpga_modify_qp(conn->fdev->mdev, conn->fpga_qpn, conn 844 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_FPGA_QPC_STATE, &conn->fpga_qpc)) conn 854 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c struct mlx5_fpga_conn *ret, *conn; conn 861 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn = kzalloc(sizeof(*conn), GFP_KERNEL); conn 862 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c if (!conn) conn 865 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->fdev = fdev; conn 866 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c INIT_LIST_HEAD(&conn->qp.sq.backlog); conn 868 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c spin_lock_init(&conn->qp.sq.lock); conn 870 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->recv_cb = attr->recv_cb; conn 871 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->cb_arg = attr->cb_arg; conn 873 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c remote_mac = MLX5_ADDR_OF(fpga_qpc, conn->fpga_qpc, remote_mac_47_32); conn 882 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c remote_ip = MLX5_ADDR_OF(fpga_qpc, conn->fpga_qpc, remote_ip); conn 887 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c err = mlx5_core_reserved_gid_alloc(fdev->mdev, &conn->qp.sgid_index); conn 894 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c err = mlx5_core_roce_gid_set(fdev->mdev, conn->qp.sgid_index, conn 904 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_dbg(fdev, "Reserved SGID index %u\n", conn->qp.sgid_index); conn 909 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c err = mlx5_fpga_conn_create_cq(conn, conn 917 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_conn_arm_cq(conn); conn 919 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c err = mlx5_fpga_conn_create_qp(conn, attr->tx_size, attr->rx_size); conn 926 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET(fpga_qpc, conn->fpga_qpc, state, MLX5_FPGA_QPC_STATE_INIT); conn 927 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET(fpga_qpc, conn->fpga_qpc, qp_type, qp_type); conn 928 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET(fpga_qpc, conn->fpga_qpc, st, MLX5_FPGA_QPC_ST_RC); conn 929 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET(fpga_qpc, conn->fpga_qpc, ether_type, ETH_P_8021Q); conn 930 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET(fpga_qpc, conn->fpga_qpc, vid, 0); conn 931 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET(fpga_qpc, conn->fpga_qpc, next_rcv_psn, 1); conn 932 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET(fpga_qpc, conn->fpga_qpc, next_send_psn, 0); conn 933 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET(fpga_qpc, conn->fpga_qpc, pkey, MLX5_FPGA_PKEY); conn 934 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET(fpga_qpc, conn->fpga_qpc, remote_qpn, conn->qp.mqp.qpn); conn 935 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET(fpga_qpc, conn->fpga_qpc, rnr_retry, 7); conn 936 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c MLX5_SET(fpga_qpc, conn->fpga_qpc, retry_count, 7); conn 938 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c err = mlx5_fpga_create_qp(fdev->mdev, &conn->fpga_qpc, conn 939 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c &conn->fpga_qpn); conn 946 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c err = mlx5_fpga_conn_connect(conn); conn 952 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_dbg(fdev, "FPGA QPN is %u\n", conn->fpga_qpn); conn 953 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c ret = conn; conn 957 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_destroy_qp(conn->fdev->mdev, conn->fpga_qpn); conn 959 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_conn_destroy_qp(conn); conn 961 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_conn_destroy_cq(conn); conn 963 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_core_roce_gid_set(fdev->mdev, conn->qp.sgid_index, 0, 0, NULL, conn 966 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_core_reserved_gid_free(fdev->mdev, conn->qp.sgid_index); conn 968 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c kfree(conn); conn 973 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c void mlx5_fpga_conn_destroy(struct mlx5_fpga_conn *conn) conn 975 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c struct mlx5_fpga_device *fdev = conn->fdev; conn 979 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c conn->qp.active = false; conn 980 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c tasklet_disable(&conn->cq.tasklet); conn 981 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c synchronize_irq(conn->cq.mcq.irqn); conn 983 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_destroy_qp(conn->fdev->mdev, conn->fpga_qpn); conn 985 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c &conn->qp.mqp); conn 988 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_conn_destroy_qp(conn); conn 989 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_fpga_conn_destroy_cq(conn); conn 991 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_core_roce_gid_set(conn->fdev->mdev, conn->qp.sgid_index, 0, 0, conn 993 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c mlx5_core_reserved_gid_free(conn->fdev->mdev, conn->qp.sgid_index); conn 994 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c kfree(conn); conn 92 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.h void mlx5_fpga_conn_destroy(struct mlx5_fpga_conn *conn); conn 93 drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.h int mlx5_fpga_conn_send(struct mlx5_fpga_conn *conn, conn 104 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct mlx5_fpga_conn *conn; conn 140 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c static void mlx5_fpga_ipsec_send_complete(struct mlx5_fpga_conn *conn, conn 243 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c res = mlx5_fpga_sbu_conn_sendmsg(fdev->ipsec->conn, &context->buf); conn 1251 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c struct mlx5_fpga_conn *conn; conn 1278 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c conn = mlx5_fpga_sbu_conn_create(fdev, &init_attr); conn 1279 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c if (IS_ERR(conn)) { conn 1280 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c err = PTR_ERR(conn); conn 1285 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c fdev->ipsec->conn = conn; conn 1308 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c mlx5_fpga_sbu_conn_destroy(conn); conn 1337 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c mlx5_fpga_sbu_conn_destroy(fdev->ipsec->conn); conn 48 drivers/net/ethernet/mellanox/mlx5/core/fpga/sdk.c void mlx5_fpga_sbu_conn_destroy(struct mlx5_fpga_conn *conn) conn 50 drivers/net/ethernet/mellanox/mlx5/core/fpga/sdk.c mlx5_fpga_conn_destroy(conn); conn 54 drivers/net/ethernet/mellanox/mlx5/core/fpga/sdk.c int mlx5_fpga_sbu_conn_sendmsg(struct mlx5_fpga_conn *conn, conn 57 drivers/net/ethernet/mellanox/mlx5/core/fpga/sdk.c return mlx5_fpga_conn_send(conn, buf); conn 91 drivers/net/ethernet/mellanox/mlx5/core/fpga/sdk.h void (*complete)(struct mlx5_fpga_conn *conn, conn 144 drivers/net/ethernet/mellanox/mlx5/core/fpga/sdk.h void mlx5_fpga_sbu_conn_destroy(struct mlx5_fpga_conn *conn); conn 158 drivers/net/ethernet/mellanox/mlx5/core/fpga/sdk.h int mlx5_fpga_sbu_conn_sendmsg(struct mlx5_fpga_conn *conn, conn 44 drivers/net/ethernet/mellanox/mlx5/core/fpga/tls.c (struct mlx5_fpga_conn *conn, struct mlx5_fpga_device *fdev, conn 72 drivers/net/ethernet/mellanox/mlx5/core/fpga/tls.c struct mlx5_fpga_conn *conn = fdev->tls->conn; conn 82 drivers/net/ethernet/mellanox/mlx5/core/fpga/tls.c ctx->complete(conn, fdev, ctx, resp); conn 85 drivers/net/ethernet/mellanox/mlx5/core/fpga/tls.c static void mlx5_fpga_cmd_send_complete(struct mlx5_fpga_conn *conn, conn 116 drivers/net/ethernet/mellanox/mlx5/core/fpga/tls.c ret = mlx5_fpga_sbu_conn_sendmsg(tls->conn, &cmd->buf); conn 120 drivers/net/ethernet/mellanox/mlx5/core/fpga/tls.c complete(tls->conn, fdev, cmd, NULL); conn 163 drivers/net/ethernet/mellanox/mlx5/core/fpga/tls.c static void mlx_tls_kfree_complete(struct mlx5_fpga_conn *conn, conn 171 drivers/net/ethernet/mellanox/mlx5/core/fpga/tls.c mlx5_fpga_tls_teardown_completion(struct mlx5_fpga_conn *conn, conn 232 drivers/net/ethernet/mellanox/mlx5/core/fpga/tls.c ret = mlx5_fpga_sbu_conn_sendmsg(mdev->fpga->tls->conn, buf); conn 305 drivers/net/ethernet/mellanox/mlx5/core/fpga/tls.c mlx5_fpga_tls_setup_completion(struct mlx5_fpga_conn *conn, conn 450 drivers/net/ethernet/mellanox/mlx5/core/fpga/tls.c struct mlx5_fpga_conn *conn; conn 474 drivers/net/ethernet/mellanox/mlx5/core/fpga/tls.c conn = mlx5_fpga_sbu_conn_create(fdev, &init_attr); conn 475 drivers/net/ethernet/mellanox/mlx5/core/fpga/tls.c if (IS_ERR(conn)) { conn 476 drivers/net/ethernet/mellanox/mlx5/core/fpga/tls.c err = PTR_ERR(conn); conn 482 drivers/net/ethernet/mellanox/mlx5/core/fpga/tls.c tls->conn = conn; conn 505 drivers/net/ethernet/mellanox/mlx5/core/fpga/tls.c mlx5_fpga_sbu_conn_destroy(fdev->tls->conn); conn 46 drivers/net/ethernet/mellanox/mlx5/core/fpga/tls.h struct mlx5_fpga_conn *conn; conn 3108 drivers/net/wireless/ath/ath6kl/cfg80211.c struct ath6kl_sta *conn; conn 3118 drivers/net/wireless/ath/ath6kl/cfg80211.c conn = ath6kl_find_sta(vif, mgmt->da); conn 3119 drivers/net/wireless/ath/ath6kl/cfg80211.c if (!conn) conn 3122 drivers/net/wireless/ath/ath6kl/cfg80211.c if (conn->sta_flags & STA_PS_SLEEP) { conn 3123 drivers/net/wireless/ath/ath6kl/cfg80211.c if (!(conn->sta_flags & STA_PS_POLLED)) { conn 3137 drivers/net/wireless/ath/ath6kl/cfg80211.c spin_lock_bh(&conn->psq_lock); conn 3138 drivers/net/wireless/ath/ath6kl/cfg80211.c is_psq_empty = skb_queue_empty(&conn->psq) && conn 3139 drivers/net/wireless/ath/ath6kl/cfg80211.c (conn->mgmt_psq_len == 0); conn 3140 drivers/net/wireless/ath/ath6kl/cfg80211.c list_add_tail(&mgmt_buf->list, &conn->mgmt_psq); conn 3141 drivers/net/wireless/ath/ath6kl/cfg80211.c conn->mgmt_psq_len++; conn 3142 drivers/net/wireless/ath/ath6kl/cfg80211.c spin_unlock_bh(&conn->psq_lock); conn 3151 drivers/net/wireless/ath/ath6kl/cfg80211.c conn->aid, 1); conn 3159 drivers/net/wireless/ath/ath6kl/cfg80211.c spin_lock_bh(&conn->psq_lock); conn 3160 drivers/net/wireless/ath/ath6kl/cfg80211.c if (!skb_queue_empty(&conn->psq) || (conn->mgmt_psq_len != 0)) conn 3162 drivers/net/wireless/ath/ath6kl/cfg80211.c spin_unlock_bh(&conn->psq_lock); conn 29 drivers/net/wireless/ath/ath6kl/main.c struct ath6kl_sta *conn = NULL; conn 39 drivers/net/wireless/ath/ath6kl/main.c conn = &ar->sta_list[i]; conn 44 drivers/net/wireless/ath/ath6kl/main.c return conn; conn 49 drivers/net/wireless/ath/ath6kl/main.c struct ath6kl_sta *conn = NULL; conn 54 drivers/net/wireless/ath/ath6kl/main.c conn = &ar->sta_list[ctr]; conn 58 drivers/net/wireless/ath/ath6kl/main.c return conn; conn 867 drivers/net/wireless/ath/ath6kl/main.c struct ath6kl_sta *conn; conn 873 drivers/net/wireless/ath/ath6kl/main.c conn = ath6kl_find_sta_by_aid(ar, aid); conn 875 drivers/net/wireless/ath/ath6kl/main.c if (!conn) conn 881 drivers/net/wireless/ath/ath6kl/main.c spin_lock_bh(&conn->psq_lock); conn 882 drivers/net/wireless/ath/ath6kl/main.c psq_empty = skb_queue_empty(&conn->psq) && (conn->mgmt_psq_len == 0); conn 883 drivers/net/wireless/ath/ath6kl/main.c spin_unlock_bh(&conn->psq_lock); conn 889 drivers/net/wireless/ath/ath6kl/main.c spin_lock_bh(&conn->psq_lock); conn 890 drivers/net/wireless/ath/ath6kl/main.c if (conn->mgmt_psq_len > 0) { conn 891 drivers/net/wireless/ath/ath6kl/main.c mgmt_buf = list_first_entry(&conn->mgmt_psq, conn 894 drivers/net/wireless/ath/ath6kl/main.c conn->mgmt_psq_len--; conn 895 drivers/net/wireless/ath/ath6kl/main.c spin_unlock_bh(&conn->psq_lock); conn 897 drivers/net/wireless/ath/ath6kl/main.c conn->sta_flags |= STA_PS_POLLED; conn 902 drivers/net/wireless/ath/ath6kl/main.c conn->sta_flags &= ~STA_PS_POLLED; conn 905 drivers/net/wireless/ath/ath6kl/main.c skb = skb_dequeue(&conn->psq); conn 906 drivers/net/wireless/ath/ath6kl/main.c spin_unlock_bh(&conn->psq_lock); conn 908 drivers/net/wireless/ath/ath6kl/main.c conn->sta_flags |= STA_PS_POLLED; conn 910 drivers/net/wireless/ath/ath6kl/main.c conn->sta_flags &= ~STA_PS_POLLED; conn 913 drivers/net/wireless/ath/ath6kl/main.c spin_lock_bh(&conn->psq_lock); conn 914 drivers/net/wireless/ath/ath6kl/main.c psq_empty = skb_queue_empty(&conn->psq) && (conn->mgmt_psq_len == 0); conn 915 drivers/net/wireless/ath/ath6kl/main.c spin_unlock_bh(&conn->psq_lock); conn 918 drivers/net/wireless/ath/ath6kl/main.c ath6kl_wmi_set_pvb_cmd(ar->wmi, vif->fw_vif_idx, conn->aid, 0); conn 102 drivers/net/wireless/ath/ath6kl/txrx.c static bool ath6kl_process_uapsdq(struct ath6kl_sta *conn, conn 114 drivers/net/wireless/ath/ath6kl/txrx.c if (conn->sta_flags & STA_PS_APSD_TRIGGER) { conn 120 drivers/net/wireless/ath/ath6kl/txrx.c spin_lock_bh(&conn->psq_lock); conn 121 drivers/net/wireless/ath/ath6kl/txrx.c if (!skb_queue_empty(&conn->apsdq)) conn 123 drivers/net/wireless/ath/ath6kl/txrx.c else if (conn->sta_flags & STA_PS_APSD_EOSP) conn 126 drivers/net/wireless/ath/ath6kl/txrx.c spin_unlock_bh(&conn->psq_lock); conn 128 drivers/net/wireless/ath/ath6kl/txrx.c } else if (!conn->apsd_info) { conn 152 drivers/net/wireless/ath/ath6kl/txrx.c if ((conn->apsd_info & (1 << traffic_class)) == 0) conn 156 drivers/net/wireless/ath/ath6kl/txrx.c spin_lock_bh(&conn->psq_lock); conn 157 drivers/net/wireless/ath/ath6kl/txrx.c is_apsdq_empty = skb_queue_empty(&conn->apsdq); conn 158 drivers/net/wireless/ath/ath6kl/txrx.c skb_queue_tail(&conn->apsdq, skb); conn 159 drivers/net/wireless/ath/ath6kl/txrx.c spin_unlock_bh(&conn->psq_lock); conn 168 drivers/net/wireless/ath/ath6kl/txrx.c conn->aid, 1, 0); conn 175 drivers/net/wireless/ath/ath6kl/txrx.c static bool ath6kl_process_psq(struct ath6kl_sta *conn, conn 183 drivers/net/wireless/ath/ath6kl/txrx.c if (conn->sta_flags & STA_PS_POLLED) { conn 184 drivers/net/wireless/ath/ath6kl/txrx.c spin_lock_bh(&conn->psq_lock); conn 185 drivers/net/wireless/ath/ath6kl/txrx.c if (!skb_queue_empty(&conn->psq)) conn 187 drivers/net/wireless/ath/ath6kl/txrx.c spin_unlock_bh(&conn->psq_lock); conn 192 drivers/net/wireless/ath/ath6kl/txrx.c spin_lock_bh(&conn->psq_lock); conn 193 drivers/net/wireless/ath/ath6kl/txrx.c is_psq_empty = skb_queue_empty(&conn->psq); conn 194 drivers/net/wireless/ath/ath6kl/txrx.c skb_queue_tail(&conn->psq, skb); conn 195 drivers/net/wireless/ath/ath6kl/txrx.c spin_unlock_bh(&conn->psq_lock); conn 205 drivers/net/wireless/ath/ath6kl/txrx.c conn->aid, 1); conn 213 drivers/net/wireless/ath/ath6kl/txrx.c struct ath6kl_sta *conn = NULL; conn 265 drivers/net/wireless/ath/ath6kl/txrx.c conn = ath6kl_find_sta(vif, datap->h_dest); conn 266 drivers/net/wireless/ath/ath6kl/txrx.c if (!conn) { conn 273 drivers/net/wireless/ath/ath6kl/txrx.c if (conn->sta_flags & STA_PS_SLEEP) { conn 274 drivers/net/wireless/ath/ath6kl/txrx.c ps_queued = ath6kl_process_uapsdq(conn, conn 277 drivers/net/wireless/ath/ath6kl/txrx.c ps_queued = ath6kl_process_psq(conn, conn 1233 drivers/net/wireless/ath/ath6kl/txrx.c struct ath6kl_sta *conn) conn 1249 drivers/net/wireless/ath/ath6kl/txrx.c num_frames_to_deliver = (conn->apsd_info >> ATH6KL_APSD_NUM_OF_AC) & conn 1260 drivers/net/wireless/ath/ath6kl/txrx.c spin_lock_bh(&conn->psq_lock); conn 1261 drivers/net/wireless/ath/ath6kl/txrx.c is_apsdq_empty = skb_queue_empty(&conn->apsdq); conn 1262 drivers/net/wireless/ath/ath6kl/txrx.c spin_unlock_bh(&conn->psq_lock); conn 1266 drivers/net/wireless/ath/ath6kl/txrx.c spin_lock_bh(&conn->psq_lock); conn 1267 drivers/net/wireless/ath/ath6kl/txrx.c skb = skb_dequeue(&conn->apsdq); conn 1268 drivers/net/wireless/ath/ath6kl/txrx.c is_apsdq_empty = skb_queue_empty(&conn->apsdq); conn 1269 drivers/net/wireless/ath/ath6kl/txrx.c spin_unlock_bh(&conn->psq_lock); conn 1275 drivers/net/wireless/ath/ath6kl/txrx.c conn->sta_flags |= STA_PS_APSD_TRIGGER; conn 1280 drivers/net/wireless/ath/ath6kl/txrx.c conn->sta_flags |= STA_PS_APSD_EOSP; conn 1283 drivers/net/wireless/ath/ath6kl/txrx.c conn->sta_flags &= ~(STA_PS_APSD_TRIGGER); conn 1284 drivers/net/wireless/ath/ath6kl/txrx.c conn->sta_flags &= ~(STA_PS_APSD_EOSP); conn 1295 drivers/net/wireless/ath/ath6kl/txrx.c conn->aid, 0, flags); conn 1314 drivers/net/wireless/ath/ath6kl/txrx.c struct ath6kl_sta *conn = NULL; conn 1427 drivers/net/wireless/ath/ath6kl/txrx.c conn = ath6kl_find_sta(vif, datap->h_source); conn 1429 drivers/net/wireless/ath/ath6kl/txrx.c if (!conn) { conn 1443 drivers/net/wireless/ath/ath6kl/txrx.c prev_ps = !!(conn->sta_flags & STA_PS_SLEEP); conn 1446 drivers/net/wireless/ath/ath6kl/txrx.c conn->sta_flags |= STA_PS_SLEEP; conn 1448 drivers/net/wireless/ath/ath6kl/txrx.c conn->sta_flags &= ~STA_PS_SLEEP; conn 1451 drivers/net/wireless/ath/ath6kl/txrx.c if ((conn->sta_flags & STA_PS_SLEEP) && trig_state) conn 1452 drivers/net/wireless/ath/ath6kl/txrx.c ath6kl_uapsd_trigger_frame_rx(vif, conn); conn 1454 drivers/net/wireless/ath/ath6kl/txrx.c if (prev_ps ^ !!(conn->sta_flags & STA_PS_SLEEP)) { conn 1455 drivers/net/wireless/ath/ath6kl/txrx.c if (!(conn->sta_flags & STA_PS_SLEEP)) { conn 1461 drivers/net/wireless/ath/ath6kl/txrx.c spin_lock_bh(&conn->psq_lock); conn 1462 drivers/net/wireless/ath/ath6kl/txrx.c while (conn->mgmt_psq_len > 0) { conn 1464 drivers/net/wireless/ath/ath6kl/txrx.c &conn->mgmt_psq, conn 1468 drivers/net/wireless/ath/ath6kl/txrx.c conn->mgmt_psq_len--; conn 1469 drivers/net/wireless/ath/ath6kl/txrx.c spin_unlock_bh(&conn->psq_lock); conn 1482 drivers/net/wireless/ath/ath6kl/txrx.c spin_lock_bh(&conn->psq_lock); conn 1484 drivers/net/wireless/ath/ath6kl/txrx.c conn->mgmt_psq_len = 0; conn 1485 drivers/net/wireless/ath/ath6kl/txrx.c while ((skbuff = skb_dequeue(&conn->psq))) { conn 1486 drivers/net/wireless/ath/ath6kl/txrx.c spin_unlock_bh(&conn->psq_lock); conn 1488 drivers/net/wireless/ath/ath6kl/txrx.c spin_lock_bh(&conn->psq_lock); conn 1491 drivers/net/wireless/ath/ath6kl/txrx.c is_apsdq_empty = skb_queue_empty(&conn->apsdq); conn 1492 drivers/net/wireless/ath/ath6kl/txrx.c while ((skbuff = skb_dequeue(&conn->apsdq))) { conn 1493 drivers/net/wireless/ath/ath6kl/txrx.c spin_unlock_bh(&conn->psq_lock); conn 1495 drivers/net/wireless/ath/ath6kl/txrx.c spin_lock_bh(&conn->psq_lock); conn 1497 drivers/net/wireless/ath/ath6kl/txrx.c spin_unlock_bh(&conn->psq_lock); conn 1503 drivers/net/wireless/ath/ath6kl/txrx.c conn->aid, 0, 0); conn 1507 drivers/net/wireless/ath/ath6kl/txrx.c conn->aid, 0); conn 1580 drivers/net/wireless/ath/ath6kl/txrx.c conn = ath6kl_find_sta(vif, datap->h_dest); conn 1582 drivers/net/wireless/ath/ath6kl/txrx.c if (conn && ar->intra_bss) { conn 1585 drivers/net/wireless/ath/ath6kl/txrx.c } else if (conn && !ar->intra_bss) { conn 1603 drivers/net/wireless/ath/ath6kl/txrx.c conn = ath6kl_find_sta(vif, datap->h_source); conn 1604 drivers/net/wireless/ath/ath6kl/txrx.c if (!conn) conn 1606 drivers/net/wireless/ath/ath6kl/txrx.c aggr_conn = conn->aggr_conn; conn 1207 drivers/net/wireless/ath/wil6210/cfg80211.c struct wmi_connect_cmd conn; conn 1322 drivers/net/wireless/ath/wil6210/cfg80211.c memset(&conn, 0, sizeof(conn)); conn 1323 drivers/net/wireless/ath/wil6210/cfg80211.c conn.network_type = network_type; conn 1326 drivers/net/wireless/ath/wil6210/cfg80211.c conn.dot11_auth_mode = WMI_AUTH11_SHARED; conn 1327 drivers/net/wireless/ath/wil6210/cfg80211.c conn.auth_mode = WMI_AUTH_WPA2_PSK; conn 1328 drivers/net/wireless/ath/wil6210/cfg80211.c conn.pairwise_crypto_type = WMI_CRYPT_AES_GCMP; conn 1329 drivers/net/wireless/ath/wil6210/cfg80211.c conn.pairwise_crypto_len = 16; conn 1330 drivers/net/wireless/ath/wil6210/cfg80211.c conn.group_crypto_type = WMI_CRYPT_AES_GCMP; conn 1331 drivers/net/wireless/ath/wil6210/cfg80211.c conn.group_crypto_len = 16; conn 1333 drivers/net/wireless/ath/wil6210/cfg80211.c conn.dot11_auth_mode = WMI_AUTH11_WSC; conn 1334 drivers/net/wireless/ath/wil6210/cfg80211.c conn.auth_mode = WMI_AUTH_NONE; conn 1337 drivers/net/wireless/ath/wil6210/cfg80211.c conn.dot11_auth_mode = WMI_AUTH11_OPEN; conn 1338 drivers/net/wireless/ath/wil6210/cfg80211.c conn.auth_mode = WMI_AUTH_NONE; conn 1341 drivers/net/wireless/ath/wil6210/cfg80211.c conn.ssid_len = min_t(u8, ssid_eid[1], 32); conn 1342 drivers/net/wireless/ath/wil6210/cfg80211.c memcpy(conn.ssid, ssid_eid+2, conn.ssid_len); conn 1343 drivers/net/wireless/ath/wil6210/cfg80211.c conn.channel = ch - 1; conn 1346 drivers/net/wireless/ath/wil6210/cfg80211.c sme->edmg.channels, &conn.edmg_channel); conn 1350 drivers/net/wireless/ath/wil6210/cfg80211.c ether_addr_copy(conn.bssid, bss->bssid); conn 1351 drivers/net/wireless/ath/wil6210/cfg80211.c ether_addr_copy(conn.dst_mac, bss->bssid); conn 1355 drivers/net/wireless/ath/wil6210/cfg80211.c rc = wmi_send(wil, WMI_CONNECT_CMDID, vif->mid, &conn, sizeof(conn)); conn 284 drivers/net/wireless/realtek/rtw88/fw.h void rtw_fw_media_status_report(struct rtw_dev *rtwdev, u8 mac_id, bool conn); conn 202 drivers/net/wireless/ti/wl12xx/main.c .conn = { conn 343 drivers/net/wireless/ti/wl18xx/main.c .conn = { conn 350 drivers/net/wireless/ti/wlcore/acx.c wl->conf.conn.bcn_filt_mode == CONF_BCN_FILT_MODE_DISABLED) conn 399 drivers/net/wireless/ti/wlcore/acx.c for (i = 0; i < wl->conf.conn.bcn_filt_ie_count; i++) { conn 400 drivers/net/wireless/ti/wlcore/acx.c struct conf_bcn_filt_rule *r = &(wl->conf.conn.bcn_filt_ie[i]); conn 456 drivers/net/wireless/ti/wlcore/acx.c threshold = wl->conf.conn.synch_fail_thold; conn 457 drivers/net/wireless/ti/wlcore/acx.c timeout = wl->conf.conn.bss_lose_timeout; conn 577 drivers/net/wireless/ti/wlcore/acx.c bb->beacon_rx_timeout = cpu_to_le16(wl->conf.conn.beacon_rx_timeout); conn 578 drivers/net/wireless/ti/wlcore/acx.c bb->broadcast_timeout = cpu_to_le16(wl->conf.conn.broadcast_timeout); conn 579 drivers/net/wireless/ti/wlcore/acx.c bb->rx_broadcast_in_ps = wl->conf.conn.rx_broadcast_in_ps; conn 580 drivers/net/wireless/ti/wlcore/acx.c bb->ps_poll_threshold = wl->conf.conn.ps_poll_threshold; conn 1066 drivers/net/wireless/ti/wlcore/acx.c if (enable && wl->conf.conn.bet_enable == CONF_BET_MODE_DISABLE) conn 1077 drivers/net/wireless/ti/wlcore/acx.c acx->max_consecutive = wl->conf.conn.bet_max_consecutive; conn 1195 drivers/net/wireless/ti/wlcore/acx.c acx->period = cpu_to_le32(wl->conf.conn.keep_alive_interval); conn 1564 drivers/net/wireless/ti/wlcore/acx.c config_ps->exit_retries = wl->conf.conn.psm_exit_retries; conn 1565 drivers/net/wireless/ti/wlcore/acx.c config_ps->enter_retries = wl->conf.conn.psm_entry_retries; conn 1134 drivers/net/wireless/ti/wlcore/conf.h struct conf_conn_settings conn; conn 259 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.dynamic_ps_timeout); conn 284 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.dynamic_ps_timeout = value; conn 326 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.forced_ps); conn 351 drivers/net/wireless/ti/wlcore/debugfs.c if (wl->conf.conn.forced_ps == value) conn 354 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.forced_ps = value; conn 648 drivers/net/wireless/ti/wlcore/debugfs.c if (wl->conf.conn.wake_up_event == CONF_WAKE_UP_EVENT_DTIM || conn 649 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.wake_up_event == CONF_WAKE_UP_EVENT_N_DTIM) conn 650 drivers/net/wireless/ti/wlcore/debugfs.c value = wl->conf.conn.listen_interval; conn 678 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.listen_interval = value; conn 681 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.wake_up_event = CONF_WAKE_UP_EVENT_DTIM; conn 683 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.wake_up_event = CONF_WAKE_UP_EVENT_N_DTIM; conn 709 drivers/net/wireless/ti/wlcore/debugfs.c if (wl->conf.conn.suspend_wake_up_event == CONF_WAKE_UP_EVENT_DTIM || conn 710 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.suspend_wake_up_event == CONF_WAKE_UP_EVENT_N_DTIM) conn 711 drivers/net/wireless/ti/wlcore/debugfs.c value = wl->conf.conn.suspend_listen_interval; conn 739 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.suspend_listen_interval = value; conn 742 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.suspend_wake_up_event = CONF_WAKE_UP_EVENT_DTIM; conn 744 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.suspend_wake_up_event = CONF_WAKE_UP_EVENT_N_DTIM; conn 764 drivers/net/wireless/ti/wlcore/debugfs.c if (wl->conf.conn.wake_up_event == CONF_WAKE_UP_EVENT_BEACON || conn 765 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.wake_up_event == CONF_WAKE_UP_EVENT_N_BEACONS) conn 766 drivers/net/wireless/ti/wlcore/debugfs.c value = wl->conf.conn.listen_interval; conn 794 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.listen_interval = value; conn 797 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.wake_up_event = CONF_WAKE_UP_EVENT_BEACON; conn 799 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.wake_up_event = CONF_WAKE_UP_EVENT_N_BEACONS; conn 1023 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.sta_sleep_auth = value; conn 309 drivers/net/wireless/ti/wlcore/event.c int delay = wl->conf.conn.synch_fail_thold * conn 310 drivers/net/wireless/ti/wlcore/event.c wl->conf.conn.bss_lose_timeout; conn 577 drivers/net/wireless/ti/wlcore/init.c u8 sta_auth = wl->conf.conn.sta_sleep_auth; conn 1630 drivers/net/wireless/ti/wlcore/main.c if ((wl->conf.conn.suspend_wake_up_event == conn 1631 drivers/net/wireless/ti/wlcore/main.c wl->conf.conn.wake_up_event) && conn 1632 drivers/net/wireless/ti/wlcore/main.c (wl->conf.conn.suspend_listen_interval == conn 1633 drivers/net/wireless/ti/wlcore/main.c wl->conf.conn.listen_interval)) conn 1637 drivers/net/wireless/ti/wlcore/main.c wl->conf.conn.suspend_wake_up_event, conn 1638 drivers/net/wireless/ti/wlcore/main.c wl->conf.conn.suspend_listen_interval); conn 1696 drivers/net/wireless/ti/wlcore/main.c if ((wl->conf.conn.suspend_wake_up_event == conn 1697 drivers/net/wireless/ti/wlcore/main.c wl->conf.conn.wake_up_event) && conn 1698 drivers/net/wireless/ti/wlcore/main.c (wl->conf.conn.suspend_listen_interval == conn 1699 drivers/net/wireless/ti/wlcore/main.c wl->conf.conn.listen_interval)) conn 1703 drivers/net/wireless/ti/wlcore/main.c wl->conf.conn.wake_up_event, conn 1704 drivers/net/wireless/ti/wlcore/main.c wl->conf.conn.listen_interval); conn 1763 drivers/net/wireless/ti/wlcore/main.c !!wl->conf.conn.suspend_rx_ba_activity); conn 2766 drivers/net/wireless/ti/wlcore/main.c u8 sta_auth = wl->conf.conn.sta_sleep_auth; conn 4530 drivers/net/wireless/ti/wlcore/main.c if (wl->conf.conn.forced_ps) { conn 6223 drivers/net/wireless/ti/wlcore/main.c wl->hw->max_listen_interval = wl->conf.conn.max_listen_interval; conn 19 drivers/net/wireless/ti/wlcore/ps.c u16 timeout = wl->conf.conn.dynamic_ps_timeout; conn 28 drivers/net/wireless/ti/wlcore/ps.c wl->conf.conn.wake_up_event, conn 29 drivers/net/wireless/ti/wlcore/ps.c wl->conf.conn.listen_interval); conn 1093 drivers/nvme/target/rdma.c nvmet_rdma_parse_cm_connect_req(struct rdma_conn_param *conn, conn 1098 drivers/nvme/target/rdma.c req = (struct nvme_rdma_cm_req *)conn->private_data; conn 1099 drivers/nvme/target/rdma.c if (!req || conn->private_data_len == 0) conn 1156 drivers/nvme/target/rdma.c ret = nvmet_rdma_parse_cm_connect_req(&event->param.conn, queue); conn 1292 drivers/nvme/target/rdma.c ret = nvmet_rdma_cm_accept(cm_id, queue, &event->param.conn); conn 203 drivers/s390/net/netiucv.c struct iucv_connection *conn; conn 214 drivers/s390/net/netiucv.c struct iucv_connection *conn; conn 282 drivers/s390/net/netiucv.c static char *netiucv_printuser(struct iucv_connection *conn) conn 288 drivers/s390/net/netiucv.c if (memcmp(conn->userdata, iucvMagic_ebcdic, 16)) { conn 291 drivers/s390/net/netiucv.c memcpy(tmp_uid, netiucv_printname(conn->userid, 8), 8); conn 292 drivers/s390/net/netiucv.c memcpy(tmp_udat, conn->userdata, 16); conn 298 drivers/s390/net/netiucv.c return netiucv_printname(conn->userid, 8); conn 517 drivers/s390/net/netiucv.c struct iucv_connection *conn = path->private; conn 520 drivers/s390/net/netiucv.c ev.conn = conn; conn 522 drivers/s390/net/netiucv.c fsm_event(conn->fsm, CONN_EVENT_RX, &ev); conn 528 drivers/s390/net/netiucv.c struct iucv_connection *conn = path->private; conn 531 drivers/s390/net/netiucv.c ev.conn = conn; conn 533 drivers/s390/net/netiucv.c fsm_event(conn->fsm, CONN_EVENT_TXDONE, &ev); conn 538 drivers/s390/net/netiucv.c struct iucv_connection *conn = path->private; conn 540 drivers/s390/net/netiucv.c fsm_event(conn->fsm, CONN_EVENT_CONN_ACK, conn); conn 546 drivers/s390/net/netiucv.c struct iucv_connection *conn = path->private; conn 557 drivers/s390/net/netiucv.c list_for_each_entry(conn, &iucv_connection_list, list) { conn 558 drivers/s390/net/netiucv.c if (strncmp(ipvmid, conn->userid, 8) || conn 559 drivers/s390/net/netiucv.c strncmp(ipuser, conn->userdata, 16)) conn 562 drivers/s390/net/netiucv.c conn->path = path; conn 563 drivers/s390/net/netiucv.c ev.conn = conn; conn 565 drivers/s390/net/netiucv.c fsm_event(conn->fsm, CONN_EVENT_CONN_REQ, &ev); conn 576 drivers/s390/net/netiucv.c struct iucv_connection *conn = path->private; conn 578 drivers/s390/net/netiucv.c fsm_event(conn->fsm, CONN_EVENT_CONN_REJ, conn); conn 583 drivers/s390/net/netiucv.c struct iucv_connection *conn = path->private; conn 585 drivers/s390/net/netiucv.c fsm_event(conn->fsm, CONN_EVENT_CONN_SUS, conn); conn 590 drivers/s390/net/netiucv.c struct iucv_connection *conn = path->private; conn 592 drivers/s390/net/netiucv.c fsm_event(conn->fsm, CONN_EVENT_CONN_RES, conn); conn 614 drivers/s390/net/netiucv.c static void netiucv_unpack_skb(struct iucv_connection *conn, conn 617 drivers/s390/net/netiucv.c struct net_device *dev = conn->netdev; conn 672 drivers/s390/net/netiucv.c struct iucv_connection *conn = ev->conn; conn 674 drivers/s390/net/netiucv.c struct netiucv_priv *privptr = netdev_priv(conn->netdev); conn 679 drivers/s390/net/netiucv.c if (!conn->netdev) { conn 680 drivers/s390/net/netiucv.c iucv_message_reject(conn->path, msg); conn 685 drivers/s390/net/netiucv.c if (msg->length > conn->max_buffsize) { conn 686 drivers/s390/net/netiucv.c iucv_message_reject(conn->path, msg); conn 689 drivers/s390/net/netiucv.c msg->length, conn->max_buffsize); conn 692 drivers/s390/net/netiucv.c conn->rx_buff->data = conn->rx_buff->head; conn 693 drivers/s390/net/netiucv.c skb_reset_tail_pointer(conn->rx_buff); conn 694 drivers/s390/net/netiucv.c conn->rx_buff->len = 0; conn 695 drivers/s390/net/netiucv.c rc = iucv_message_receive(conn->path, msg, 0, conn->rx_buff->data, conn 702 drivers/s390/net/netiucv.c netiucv_unpack_skb(conn, conn->rx_buff); conn 708 drivers/s390/net/netiucv.c struct iucv_connection *conn = ev->conn; conn 723 drivers/s390/net/netiucv.c if (!conn || !conn->netdev) { conn 728 drivers/s390/net/netiucv.c privptr = netdev_priv(conn->netdev); conn 729 drivers/s390/net/netiucv.c conn->prof.tx_pending--; conn 731 drivers/s390/net/netiucv.c if ((skb = skb_dequeue(&conn->commit_queue))) { conn 742 drivers/s390/net/netiucv.c conn->tx_buff->data = conn->tx_buff->head; conn 743 drivers/s390/net/netiucv.c skb_reset_tail_pointer(conn->tx_buff); conn 744 drivers/s390/net/netiucv.c conn->tx_buff->len = 0; conn 745 drivers/s390/net/netiucv.c spin_lock_irqsave(&conn->collect_lock, saveflags); conn 746 drivers/s390/net/netiucv.c while ((skb = skb_dequeue(&conn->collect_queue))) { conn 747 drivers/s390/net/netiucv.c header.next = conn->tx_buff->len + skb->len + NETIUCV_HDRLEN; conn 748 drivers/s390/net/netiucv.c skb_put_data(conn->tx_buff, &header, NETIUCV_HDRLEN); conn 750 drivers/s390/net/netiucv.c skb_put(conn->tx_buff, skb->len), conn 758 drivers/s390/net/netiucv.c if (conn->collect_len > conn->prof.maxmulti) conn 759 drivers/s390/net/netiucv.c conn->prof.maxmulti = conn->collect_len; conn 760 drivers/s390/net/netiucv.c conn->collect_len = 0; conn 761 drivers/s390/net/netiucv.c spin_unlock_irqrestore(&conn->collect_lock, saveflags); conn 762 drivers/s390/net/netiucv.c if (conn->tx_buff->len == 0) { conn 768 drivers/s390/net/netiucv.c skb_put_data(conn->tx_buff, &header, NETIUCV_HDRLEN); conn 769 drivers/s390/net/netiucv.c conn->prof.send_stamp = jiffies; conn 772 drivers/s390/net/netiucv.c rc = iucv_message_send(conn->path, &txmsg, 0, 0, conn 773 drivers/s390/net/netiucv.c conn->tx_buff->data, conn->tx_buff->len); conn 774 drivers/s390/net/netiucv.c conn->prof.doios_multi++; conn 775 drivers/s390/net/netiucv.c conn->prof.txlen += conn->tx_buff->len; conn 776 drivers/s390/net/netiucv.c conn->prof.tx_pending++; conn 777 drivers/s390/net/netiucv.c if (conn->prof.tx_pending > conn->prof.tx_max_pending) conn 778 drivers/s390/net/netiucv.c conn->prof.tx_max_pending = conn->prof.tx_pending; conn 780 drivers/s390/net/netiucv.c conn->prof.tx_pending--; conn 790 drivers/s390/net/netiucv.c if (stat_maxcq > conn->prof.maxcqueue) conn 791 drivers/s390/net/netiucv.c conn->prof.maxcqueue = stat_maxcq; conn 798 drivers/s390/net/netiucv.c struct iucv_connection *conn = ev->conn; conn 800 drivers/s390/net/netiucv.c struct net_device *netdev = conn->netdev; conn 806 drivers/s390/net/netiucv.c conn->path = path; conn 809 drivers/s390/net/netiucv.c rc = iucv_path_accept(path, &netiucv_handler, conn->userdata , conn); conn 815 drivers/s390/net/netiucv.c netdev->tx_queue_len = conn->path->msglim; conn 830 drivers/s390/net/netiucv.c struct iucv_connection *conn = arg; conn 831 drivers/s390/net/netiucv.c struct net_device *netdev = conn->netdev; conn 835 drivers/s390/net/netiucv.c fsm_deltimer(&conn->timer); conn 837 drivers/s390/net/netiucv.c netdev->tx_queue_len = conn->path->msglim; conn 843 drivers/s390/net/netiucv.c struct iucv_connection *conn = arg; conn 846 drivers/s390/net/netiucv.c fsm_deltimer(&conn->timer); conn 847 drivers/s390/net/netiucv.c iucv_path_sever(conn->path, conn->userdata); conn 853 drivers/s390/net/netiucv.c struct iucv_connection *conn = arg; conn 854 drivers/s390/net/netiucv.c struct net_device *netdev = conn->netdev; conn 859 drivers/s390/net/netiucv.c fsm_deltimer(&conn->timer); conn 860 drivers/s390/net/netiucv.c iucv_path_sever(conn->path, conn->userdata); conn 862 drivers/s390/net/netiucv.c "connection\n", netiucv_printuser(conn)); conn 871 drivers/s390/net/netiucv.c struct iucv_connection *conn = arg; conn 872 drivers/s390/net/netiucv.c struct net_device *netdev = conn->netdev; conn 887 drivers/s390/net/netiucv.c conn->path = iucv_path_alloc(NETIUCV_QUEUELEN_DEFAULT, 0, GFP_KERNEL); conn 889 drivers/s390/net/netiucv.c netdev->name, netiucv_printuser(conn)); conn 891 drivers/s390/net/netiucv.c rc = iucv_path_connect(conn->path, &netiucv_handler, conn->userid, conn 892 drivers/s390/net/netiucv.c NULL, conn->userdata, conn); conn 895 drivers/s390/net/netiucv.c netdev->tx_queue_len = conn->path->msglim; conn 896 drivers/s390/net/netiucv.c fsm_addtimer(&conn->timer, NETIUCV_TIMEOUT_5SEC, conn 897 drivers/s390/net/netiucv.c CONN_EVENT_TIMER, conn); conn 902 drivers/s390/net/netiucv.c netiucv_printname(conn->userid, 8)); conn 908 drivers/s390/net/netiucv.c " guest %s\n", netiucv_printname(conn->userid, 8)); conn 921 drivers/s390/net/netiucv.c netiucv_printname(conn->userid, 8)); conn 938 drivers/s390/net/netiucv.c kfree(conn->path); conn 939 drivers/s390/net/netiucv.c conn->path = NULL; conn 955 drivers/s390/net/netiucv.c struct iucv_connection *conn = ev->conn; conn 956 drivers/s390/net/netiucv.c struct net_device *netdev = conn->netdev; conn 961 drivers/s390/net/netiucv.c fsm_deltimer(&conn->timer); conn 963 drivers/s390/net/netiucv.c netiucv_purge_skb_queue(&conn->collect_queue); conn 964 drivers/s390/net/netiucv.c if (conn->path) { conn 966 drivers/s390/net/netiucv.c iucv_path_sever(conn->path, conn->userdata); conn 967 drivers/s390/net/netiucv.c kfree(conn->path); conn 968 drivers/s390/net/netiucv.c conn->path = NULL; conn 970 drivers/s390/net/netiucv.c netiucv_purge_skb_queue(&conn->commit_queue); conn 976 drivers/s390/net/netiucv.c struct iucv_connection *conn = arg; conn 977 drivers/s390/net/netiucv.c struct net_device *netdev = conn->netdev; conn 980 drivers/s390/net/netiucv.c netdev->name, conn->userid); conn 1038 drivers/s390/net/netiucv.c fsm_event(privptr->conn->fsm, CONN_EVENT_START, privptr->conn); conn 1057 drivers/s390/net/netiucv.c ev.conn = privptr->conn; conn 1060 drivers/s390/net/netiucv.c fsm_event(privptr->conn->fsm, CONN_EVENT_STOP, &ev); conn 1085 drivers/s390/net/netiucv.c netiucv_printuser(privptr->conn)); conn 1147 drivers/s390/net/netiucv.c static int netiucv_transmit_skb(struct iucv_connection *conn, conn 1155 drivers/s390/net/netiucv.c if (fsm_getstate(conn->fsm) != CONN_STATE_IDLE) { conn 1158 drivers/s390/net/netiucv.c spin_lock_irqsave(&conn->collect_lock, saveflags); conn 1159 drivers/s390/net/netiucv.c if (conn->collect_len + l > conn 1160 drivers/s390/net/netiucv.c (conn->max_buffsize - NETIUCV_HDRLEN)) { conn 1166 drivers/s390/net/netiucv.c skb_queue_tail(&conn->collect_queue, skb); conn 1167 drivers/s390/net/netiucv.c conn->collect_len += l; conn 1170 drivers/s390/net/netiucv.c spin_unlock_irqrestore(&conn->collect_lock, saveflags); conn 1201 drivers/s390/net/netiucv.c fsm_newstate(conn->fsm, CONN_STATE_TX); conn 1202 drivers/s390/net/netiucv.c conn->prof.send_stamp = jiffies; conn 1206 drivers/s390/net/netiucv.c rc = iucv_message_send(conn->path, &msg, 0, 0, conn 1208 drivers/s390/net/netiucv.c conn->prof.doios_single++; conn 1209 drivers/s390/net/netiucv.c conn->prof.txlen += skb->len; conn 1210 drivers/s390/net/netiucv.c conn->prof.tx_pending++; conn 1211 drivers/s390/net/netiucv.c if (conn->prof.tx_pending > conn->prof.tx_max_pending) conn 1212 drivers/s390/net/netiucv.c conn->prof.tx_max_pending = conn->prof.tx_pending; conn 1215 drivers/s390/net/netiucv.c fsm_newstate(conn->fsm, CONN_STATE_IDLE); conn 1216 drivers/s390/net/netiucv.c conn->prof.tx_pending--; conn 1217 drivers/s390/net/netiucv.c privptr = netdev_priv(conn->netdev); conn 1235 drivers/s390/net/netiucv.c skb_queue_tail(&conn->commit_queue, nskb); conn 1303 drivers/s390/net/netiucv.c if (priv && priv->conn) conn 1304 drivers/s390/net/netiucv.c ndev = priv->conn->netdev; conn 1327 drivers/s390/net/netiucv.c if (priv && priv->conn) conn 1328 drivers/s390/net/netiucv.c ndev = priv->conn->netdev; conn 1394 drivers/s390/net/netiucv.c rc = netiucv_transmit_skb(privptr->conn, skb); conn 1425 drivers/s390/net/netiucv.c return sprintf(buf, "%s\n", netiucv_printuser(priv->conn)); conn 1480 drivers/s390/net/netiucv.c struct net_device *ndev = priv->conn->netdev; conn 1491 drivers/s390/net/netiucv.c if (memcmp(username, priv->conn->userid, 9) && conn 1508 drivers/s390/net/netiucv.c memcpy(priv->conn->userid, username, 9); conn 1509 drivers/s390/net/netiucv.c memcpy(priv->conn->userdata, userdata, 17); conn 1521 drivers/s390/net/netiucv.c return sprintf(buf, "%d\n", priv->conn->max_buffsize); conn 1528 drivers/s390/net/netiucv.c struct net_device *ndev = priv->conn->netdev; conn 1563 drivers/s390/net/netiucv.c priv->conn->max_buffsize = bs1; conn 1590 drivers/s390/net/netiucv.c return sprintf(buf, "%s\n", fsm_getstate_str(priv->conn->fsm)); conn 1601 drivers/s390/net/netiucv.c return sprintf(buf, "%ld\n", priv->conn->prof.maxmulti); conn 1611 drivers/s390/net/netiucv.c priv->conn->prof.maxmulti = 0; conn 1623 drivers/s390/net/netiucv.c return sprintf(buf, "%ld\n", priv->conn->prof.maxcqueue); conn 1632 drivers/s390/net/netiucv.c priv->conn->prof.maxcqueue = 0; conn 1644 drivers/s390/net/netiucv.c return sprintf(buf, "%ld\n", priv->conn->prof.doios_single); conn 1653 drivers/s390/net/netiucv.c priv->conn->prof.doios_single = 0; conn 1665 drivers/s390/net/netiucv.c return sprintf(buf, "%ld\n", priv->conn->prof.doios_multi); conn 1674 drivers/s390/net/netiucv.c priv->conn->prof.doios_multi = 0; conn 1686 drivers/s390/net/netiucv.c return sprintf(buf, "%ld\n", priv->conn->prof.txlen); conn 1695 drivers/s390/net/netiucv.c priv->conn->prof.txlen = 0; conn 1707 drivers/s390/net/netiucv.c return sprintf(buf, "%ld\n", priv->conn->prof.tx_time); conn 1716 drivers/s390/net/netiucv.c priv->conn->prof.tx_time = 0; conn 1728 drivers/s390/net/netiucv.c return sprintf(buf, "%ld\n", priv->conn->prof.tx_pending); conn 1737 drivers/s390/net/netiucv.c priv->conn->prof.tx_pending = 0; conn 1749 drivers/s390/net/netiucv.c return sprintf(buf, "%ld\n", priv->conn->prof.tx_max_pending); conn 1758 drivers/s390/net/netiucv.c priv->conn->prof.tx_max_pending = 0; conn 1848 drivers/s390/net/netiucv.c struct iucv_connection *conn; conn 1850 drivers/s390/net/netiucv.c conn = kzalloc(sizeof(*conn), GFP_KERNEL); conn 1851 drivers/s390/net/netiucv.c if (!conn) conn 1853 drivers/s390/net/netiucv.c skb_queue_head_init(&conn->collect_queue); conn 1854 drivers/s390/net/netiucv.c skb_queue_head_init(&conn->commit_queue); conn 1855 drivers/s390/net/netiucv.c spin_lock_init(&conn->collect_lock); conn 1856 drivers/s390/net/netiucv.c conn->max_buffsize = NETIUCV_BUFSIZE_DEFAULT; conn 1857 drivers/s390/net/netiucv.c conn->netdev = dev; conn 1859 drivers/s390/net/netiucv.c conn->rx_buff = alloc_skb(conn->max_buffsize, GFP_KERNEL | GFP_DMA); conn 1860 drivers/s390/net/netiucv.c if (!conn->rx_buff) conn 1862 drivers/s390/net/netiucv.c conn->tx_buff = alloc_skb(conn->max_buffsize, GFP_KERNEL | GFP_DMA); conn 1863 drivers/s390/net/netiucv.c if (!conn->tx_buff) conn 1865 drivers/s390/net/netiucv.c conn->fsm = init_fsm("netiucvconn", conn_state_names, conn 1869 drivers/s390/net/netiucv.c if (!conn->fsm) conn 1872 drivers/s390/net/netiucv.c fsm_settimer(conn->fsm, &conn->timer); conn 1873 drivers/s390/net/netiucv.c fsm_newstate(conn->fsm, CONN_STATE_INVALID); conn 1876 drivers/s390/net/netiucv.c memcpy(conn->userdata, userdata, 17); conn 1878 drivers/s390/net/netiucv.c memcpy(conn->userid, username, 9); conn 1879 drivers/s390/net/netiucv.c fsm_newstate(conn->fsm, CONN_STATE_STOPPED); conn 1883 drivers/s390/net/netiucv.c list_add_tail(&conn->list, &iucv_connection_list); conn 1885 drivers/s390/net/netiucv.c return conn; conn 1888 drivers/s390/net/netiucv.c kfree_skb(conn->tx_buff); conn 1890 drivers/s390/net/netiucv.c kfree_skb(conn->rx_buff); conn 1892 drivers/s390/net/netiucv.c kfree(conn); conn 1901 drivers/s390/net/netiucv.c static void netiucv_remove_connection(struct iucv_connection *conn) conn 1906 drivers/s390/net/netiucv.c list_del_init(&conn->list); conn 1908 drivers/s390/net/netiucv.c fsm_deltimer(&conn->timer); conn 1909 drivers/s390/net/netiucv.c netiucv_purge_skb_queue(&conn->collect_queue); conn 1910 drivers/s390/net/netiucv.c if (conn->path) { conn 1911 drivers/s390/net/netiucv.c iucv_path_sever(conn->path, conn->userdata); conn 1912 drivers/s390/net/netiucv.c kfree(conn->path); conn 1913 drivers/s390/net/netiucv.c conn->path = NULL; conn 1915 drivers/s390/net/netiucv.c netiucv_purge_skb_queue(&conn->commit_queue); conn 1916 drivers/s390/net/netiucv.c kfree_fsm(conn->fsm); conn 1917 drivers/s390/net/netiucv.c kfree_skb(conn->rx_buff); conn 1918 drivers/s390/net/netiucv.c kfree_skb(conn->tx_buff); conn 1934 drivers/s390/net/netiucv.c if (privptr->conn) conn 1935 drivers/s390/net/netiucv.c netiucv_remove_connection(privptr->conn); conn 1938 drivers/s390/net/netiucv.c privptr->conn = NULL; privptr->fsm = NULL; conn 1991 drivers/s390/net/netiucv.c privptr->conn = netiucv_new_connection(dev, username, userdata); conn 1992 drivers/s390/net/netiucv.c if (!privptr->conn) { conn 2059 drivers/s390/net/netiucv.c netiucv_printuser(priv->conn)); conn 2106 drivers/s390/net/netiucv.c priv->conn->userid); conn 136 drivers/scsi/be2iscsi/be_iscsi.c struct iscsi_conn *conn; conn 151 drivers/scsi/be2iscsi/be_iscsi.c conn = cls_conn->dd_data; conn 152 drivers/scsi/be2iscsi/be_iscsi.c beiscsi_conn = conn->dd_data; conn 155 drivers/scsi/be2iscsi/be_iscsi.c beiscsi_conn->conn = conn; conn 174 drivers/scsi/be2iscsi/be_iscsi.c struct iscsi_conn *conn = cls_conn->dd_data; conn 175 drivers/scsi/be2iscsi/be_iscsi.c struct beiscsi_conn *beiscsi_conn = conn->dd_data; conn 216 drivers/scsi/be2iscsi/be_iscsi.c beiscsi_ep->conn = beiscsi_conn; conn 645 drivers/scsi/be2iscsi/be_iscsi.c struct iscsi_conn *conn = cls_conn->dd_data; conn 646 drivers/scsi/be2iscsi/be_iscsi.c struct iscsi_session *session = conn->session; conn 650 drivers/scsi/be2iscsi/be_iscsi.c phba = ((struct beiscsi_conn *)conn->dd_data)->phba; conn 668 drivers/scsi/be2iscsi/be_iscsi.c if (conn->max_recv_dlength > 65536) conn 669 drivers/scsi/be2iscsi/be_iscsi.c conn->max_recv_dlength = 65536; conn 676 drivers/scsi/be2iscsi/be_iscsi.c if (conn->max_xmit_dlength > 65536) conn 677 drivers/scsi/be2iscsi/be_iscsi.c conn->max_xmit_dlength = 65536; conn 818 drivers/scsi/be2iscsi/be_iscsi.c struct iscsi_conn *conn = cls_conn->dd_data; conn 821 drivers/scsi/be2iscsi/be_iscsi.c phba = ((struct beiscsi_conn *)conn->dd_data)->phba; conn 825 drivers/scsi/be2iscsi/be_iscsi.c stats->txdata_octets = conn->txdata_octets; conn 826 drivers/scsi/be2iscsi/be_iscsi.c stats->rxdata_octets = conn->rxdata_octets; conn 827 drivers/scsi/be2iscsi/be_iscsi.c stats->dataout_pdus = conn->dataout_pdus_cnt; conn 828 drivers/scsi/be2iscsi/be_iscsi.c stats->scsirsp_pdus = conn->scsirsp_pdus_cnt; conn 829 drivers/scsi/be2iscsi/be_iscsi.c stats->scsicmd_pdus = conn->scsicmd_pdus_cnt; conn 830 drivers/scsi/be2iscsi/be_iscsi.c stats->datain_pdus = conn->datain_pdus_cnt; conn 831 drivers/scsi/be2iscsi/be_iscsi.c stats->tmfrsp_pdus = conn->tmfrsp_pdus_cnt; conn 832 drivers/scsi/be2iscsi/be_iscsi.c stats->tmfcmd_pdus = conn->tmfcmd_pdus_cnt; conn 833 drivers/scsi/be2iscsi/be_iscsi.c stats->r2t_pdus = conn->r2t_pdus_cnt; conn 838 drivers/scsi/be2iscsi/be_iscsi.c stats->custom[0].value = conn->eh_abort_cnt; conn 849 drivers/scsi/be2iscsi/be_iscsi.c struct iscsi_conn *conn = beiscsi_conn->conn; conn 850 drivers/scsi/be2iscsi/be_iscsi.c struct iscsi_session *session = conn->session; conn 856 drivers/scsi/be2iscsi/be_iscsi.c conn->max_xmit_dlength); conn 862 drivers/scsi/be2iscsi/be_iscsi.c conn->datadgst_en); conn 864 drivers/scsi/be2iscsi/be_iscsi.c conn->hdrdgst_en); conn 878 drivers/scsi/be2iscsi/be_iscsi.c (conn->exp_statsn - 1)); conn 881 drivers/scsi/be2iscsi/be_iscsi.c conn->max_recv_dlength); conn 891 drivers/scsi/be2iscsi/be_iscsi.c struct iscsi_conn *conn = cls_conn->dd_data; conn 892 drivers/scsi/be2iscsi/be_iscsi.c struct beiscsi_conn *beiscsi_conn = conn->dd_data; conn 897 drivers/scsi/be2iscsi/be_iscsi.c phba = ((struct beiscsi_conn *)conn->dd_data)->phba; conn 1012 drivers/scsi/be2iscsi/be_iscsi.c if (!beiscsi_ep->conn) conn 1015 drivers/scsi/be2iscsi/be_iscsi.c beiscsi_conn = beiscsi_ep->conn; conn 1020 drivers/scsi/be2iscsi/be_iscsi.c beiscsi_ep->conn = NULL; conn 1312 drivers/scsi/be2iscsi/be_iscsi.c if (beiscsi_ep->conn) { conn 1313 drivers/scsi/be2iscsi/be_iscsi.c beiscsi_conn = beiscsi_ep->conn; conn 1314 drivers/scsi/be2iscsi/be_iscsi.c iscsi_suspend_queue(beiscsi_conn->conn); conn 32 drivers/scsi/be2iscsi/be_iscsi.h void beiscsi_offload_iscsi(struct beiscsi_hba *phba, struct iscsi_conn *conn, conn 226 drivers/scsi/be2iscsi/be_main.c struct iscsi_conn *conn; conn 241 drivers/scsi/be2iscsi/be_main.c conn = abrt_task->conn; conn 242 drivers/scsi/be2iscsi/be_main.c beiscsi_conn = conn->dd_data; conn 279 drivers/scsi/be2iscsi/be_main.c struct iscsi_conn *conn; conn 293 drivers/scsi/be2iscsi/be_main.c conn = session->leadconn; conn 294 drivers/scsi/be2iscsi/be_main.c beiscsi_conn = conn->dd_data; conn 307 drivers/scsi/be2iscsi/be_main.c for (i = 0; i < conn->session->cmds_max; i++) { conn 308 drivers/scsi/be2iscsi/be_main.c task = conn->session->cmds[i]; conn 1107 drivers/scsi/be2iscsi/be_main.c struct iscsi_conn *conn = beiscsi_conn->conn; conn 1158 drivers/scsi/be2iscsi/be_main.c conn->rxdata_octets += resid; conn 1174 drivers/scsi/be2iscsi/be_main.c struct iscsi_conn *conn = beiscsi_conn->conn; conn 1191 drivers/scsi/be2iscsi/be_main.c __iscsi_complete_pdu(conn, (struct iscsi_hdr *)hdr, NULL, 0); conn 1200 drivers/scsi/be2iscsi/be_main.c struct iscsi_conn *conn = beiscsi_conn->conn; conn 1212 drivers/scsi/be2iscsi/be_main.c __iscsi_complete_pdu(conn, (struct iscsi_hdr *)hdr, NULL, 0); conn 1242 drivers/scsi/be2iscsi/be_main.c session = beiscsi_conn->conn->session; conn 1256 drivers/scsi/be2iscsi/be_main.c struct iscsi_conn *conn = beiscsi_conn->conn; conn 1267 drivers/scsi/be2iscsi/be_main.c __iscsi_complete_pdu(conn, (struct iscsi_hdr *)hdr, NULL, 0); conn 1327 drivers/scsi/be2iscsi/be_main.c struct iscsi_conn *conn = beiscsi_conn->conn; conn 1328 drivers/scsi/be2iscsi/be_main.c struct iscsi_session *session = conn->session; conn 1411 drivers/scsi/be2iscsi/be_main.c struct iscsi_conn *conn = beiscsi_conn->conn; conn 1434 drivers/scsi/be2iscsi/be_main.c task = conn->login_task; conn 1446 drivers/scsi/be2iscsi/be_main.c __iscsi_complete_pdu(conn, (struct iscsi_hdr *)phdr, pdata, dlen); conn 1591 drivers/scsi/be2iscsi/be_main.c struct iscsi_session *session = beiscsi_conn->conn->session; conn 1906 drivers/scsi/be2iscsi/be_main.c beiscsi_conn = beiscsi_ep->conn; conn 2007 drivers/scsi/be2iscsi/be_main.c iscsi_conn_failure(beiscsi_conn->conn, conn 2265 drivers/scsi/be2iscsi/be_main.c struct beiscsi_conn *beiscsi_conn = io_task->conn; conn 4256 drivers/scsi/be2iscsi/be_main.c struct iscsi_conn *conn = task->conn; conn 4257 drivers/scsi/be2iscsi/be_main.c struct beiscsi_conn *beiscsi_conn = conn->dd_data; conn 4306 drivers/scsi/be2iscsi/be_main.c struct iscsi_session *session = task->conn->session; conn 4355 drivers/scsi/be2iscsi/be_main.c static void beiscsi_parse_pdu(struct iscsi_conn *conn, itt_t itt, conn 4360 drivers/scsi/be2iscsi/be_main.c *age = conn->session->age; conn 4376 drivers/scsi/be2iscsi/be_main.c struct iscsi_conn *conn = task->conn; conn 4377 drivers/scsi/be2iscsi/be_main.c struct beiscsi_conn *beiscsi_conn = conn->dd_data; conn 4392 drivers/scsi/be2iscsi/be_main.c io_task->conn = beiscsi_conn; conn 4524 drivers/scsi/be2iscsi/be_main.c struct iscsi_conn *conn = task->conn; conn 4525 drivers/scsi/be2iscsi/be_main.c struct beiscsi_conn *beiscsi_conn = conn->dd_data; conn 4585 drivers/scsi/be2iscsi/be_main.c struct iscsi_conn *conn = task->conn; conn 4586 drivers/scsi/be2iscsi/be_main.c struct beiscsi_conn *beiscsi_conn = conn->dd_data; conn 4643 drivers/scsi/be2iscsi/be_main.c struct iscsi_conn *conn = task->conn; conn 4644 drivers/scsi/be2iscsi/be_main.c struct beiscsi_conn *beiscsi_conn = conn->dd_data; conn 4767 drivers/scsi/be2iscsi/be_main.c phba = io_task->conn->phba; conn 4776 drivers/scsi/be2iscsi/be_main.c if (!io_task->conn->login_in_progress) conn 408 drivers/scsi/be2iscsi/be_main.h struct iscsi_conn *conn; conn 460 drivers/scsi/be2iscsi/be_main.h struct beiscsi_conn *conn; conn 1454 drivers/scsi/be2iscsi/be_mgmt.c if (beiscsi_ep->conn) conn 1488 drivers/scsi/be2iscsi/be_mgmt.c if (beiscsi_ep->conn) conn 155 drivers/scsi/be2iscsi/be_mgmt.h struct beiscsi_conn *conn; conn 259 drivers/scsi/bnx2i/bnx2i.h struct bnx2i_conn *conn; conn 751 drivers/scsi/bnx2i/bnx2i.h struct bnx2i_conn *conn; conn 828 drivers/scsi/bnx2i/bnx2i.h void bnx2i_get_rq_buf(struct bnx2i_conn *conn, char *ptr, int len); conn 829 drivers/scsi/bnx2i/bnx2i.h void bnx2i_put_rq_buf(struct bnx2i_conn *conn, int count); conn 836 drivers/scsi/bnx2i/bnx2i.h extern int bnx2i_send_iscsi_login(struct bnx2i_conn *conn, conn 838 drivers/scsi/bnx2i/bnx2i.h extern int bnx2i_send_iscsi_tmf(struct bnx2i_conn *conn, conn 840 drivers/scsi/bnx2i/bnx2i.h extern int bnx2i_send_iscsi_text(struct bnx2i_conn *conn, conn 842 drivers/scsi/bnx2i/bnx2i.h extern int bnx2i_send_iscsi_scsicmd(struct bnx2i_conn *conn, conn 844 drivers/scsi/bnx2i/bnx2i.h extern int bnx2i_send_iscsi_nopout(struct bnx2i_conn *conn, conn 847 drivers/scsi/bnx2i/bnx2i.h extern int bnx2i_send_iscsi_logout(struct bnx2i_conn *conn, conn 853 drivers/scsi/bnx2i/bnx2i.h extern void bnx2i_update_iscsi_conn(struct iscsi_conn *conn); conn 873 drivers/scsi/bnx2i/bnx2i.h extern void bnx2i_print_pend_cmd_queue(struct bnx2i_conn *conn); conn 874 drivers/scsi/bnx2i/bnx2i.h extern void bnx2i_print_active_cmd_queue(struct bnx2i_conn *conn); conn 875 drivers/scsi/bnx2i/bnx2i.h extern void bnx2i_print_xmit_pdu_queue(struct bnx2i_conn *conn); conn 876 drivers/scsi/bnx2i/bnx2i.h extern void bnx2i_print_recv_state(struct bnx2i_conn *conn); conn 210 drivers/scsi/bnx2i/bnx2i_hwi.c static void bnx2i_ring_577xx_doorbell(struct bnx2i_conn *conn) conn 220 drivers/scsi/bnx2i/bnx2i_hwi.c writel(cpu_to_le32(msg), conn->ep->qp.ctx_base); conn 385 drivers/scsi/bnx2i/bnx2i_hwi.c struct iscsi_conn *conn = bnx2i_conn->cls_conn->dd_data; conn 407 drivers/scsi/bnx2i/bnx2i_hwi.c ctask = iscsi_itt_to_task(conn, tmfabort_hdr->rtt); conn 629 drivers/scsi/bnx2i/bnx2i_hwi.c void bnx2i_update_iscsi_conn(struct iscsi_conn *conn) conn 631 drivers/scsi/bnx2i/bnx2i_hwi.c struct bnx2i_conn *bnx2i_conn = conn->dd_data; conn 649 drivers/scsi/bnx2i/bnx2i_hwi.c if (conn->hdrdgst_en) conn 651 drivers/scsi/bnx2i/bnx2i_hwi.c if (conn->datadgst_en) conn 653 drivers/scsi/bnx2i/bnx2i_hwi.c if (conn->session->initial_r2t_en) conn 655 drivers/scsi/bnx2i/bnx2i_hwi.c if (conn->session->imm_data_en) conn 658 drivers/scsi/bnx2i/bnx2i_hwi.c update_wqe->max_send_pdu_length = conn->max_xmit_dlength; conn 659 drivers/scsi/bnx2i/bnx2i_hwi.c update_wqe->max_recv_pdu_length = conn->max_recv_dlength; conn 660 drivers/scsi/bnx2i/bnx2i_hwi.c update_wqe->first_burst_length = conn->session->first_burst; conn 661 drivers/scsi/bnx2i/bnx2i_hwi.c update_wqe->max_burst_length = conn->session->max_burst; conn 662 drivers/scsi/bnx2i/bnx2i_hwi.c update_wqe->exp_stat_sn = conn->exp_statsn; conn 663 drivers/scsi/bnx2i/bnx2i_hwi.c update_wqe->max_outstanding_r2ts = conn->session->max_r2t; conn 664 drivers/scsi/bnx2i/bnx2i_hwi.c update_wqe->session_error_recovery_level = conn->session->erl; conn 665 drivers/scsi/bnx2i/bnx2i_hwi.c iscsi_conn_printk(KERN_ALERT, conn, conn 731 drivers/scsi/bnx2i/bnx2i_hwi.c (struct bnx2i_cleanup_request *)cmd->conn->ep->qp.sq_prod_qe; conn 738 drivers/scsi/bnx2i/bnx2i_hwi.c bnx2i_ring_dbell_update_sq_params(cmd->conn, 1); conn 1047 drivers/scsi/bnx2i/bnx2i_hwi.c ep->conn = NULL; conn 1339 drivers/scsi/bnx2i/bnx2i_hwi.c struct iscsi_conn *conn = bnx2i_conn->cls_conn->dd_data; conn 1349 drivers/scsi/bnx2i/bnx2i_hwi.c task = iscsi_itt_to_task(conn, conn 1357 drivers/scsi/bnx2i/bnx2i_hwi.c conn->datain_pdus_cnt += conn 1359 drivers/scsi/bnx2i/bnx2i_hwi.c conn->rxdata_octets += conn 1366 drivers/scsi/bnx2i/bnx2i_hwi.c conn->dataout_pdus_cnt += conn 1368 drivers/scsi/bnx2i/bnx2i_hwi.c conn->r2t_pdus_cnt += conn 1370 drivers/scsi/bnx2i/bnx2i_hwi.c conn->txdata_octets += conn 1400 drivers/scsi/bnx2i/bnx2i_hwi.c iscsi_conn_printk(KERN_ERR, conn, conn 1405 drivers/scsi/bnx2i/bnx2i_hwi.c iscsi_conn_printk(KERN_ERR, conn, conn 1411 drivers/scsi/bnx2i/bnx2i_hwi.c bnx2i_get_rq_buf(bnx2i_cmd->conn, conn->data, datalen); conn 1412 drivers/scsi/bnx2i/bnx2i_hwi.c bnx2i_put_rq_buf(bnx2i_cmd->conn, 1); conn 1416 drivers/scsi/bnx2i/bnx2i_hwi.c __iscsi_complete_pdu(conn, (struct iscsi_hdr *)hdr, conn 1417 drivers/scsi/bnx2i/bnx2i_hwi.c conn->data, datalen); conn 1436 drivers/scsi/bnx2i/bnx2i_hwi.c struct iscsi_conn *conn = bnx2i_conn->cls_conn->dd_data; conn 1445 drivers/scsi/bnx2i/bnx2i_hwi.c task = iscsi_itt_to_task(conn, conn 1483 drivers/scsi/bnx2i/bnx2i_hwi.c __iscsi_complete_pdu(conn, (struct iscsi_hdr *)resp_hdr, conn 1504 drivers/scsi/bnx2i/bnx2i_hwi.c struct iscsi_conn *conn = bnx2i_conn->cls_conn->dd_data; conn 1513 drivers/scsi/bnx2i/bnx2i_hwi.c task = iscsi_itt_to_task(conn, text->itt & ISCSI_LOGIN_RESPONSE_INDEX); conn 1543 drivers/scsi/bnx2i/bnx2i_hwi.c __iscsi_complete_pdu(conn, (struct iscsi_hdr *)resp_hdr, conn 1565 drivers/scsi/bnx2i/bnx2i_hwi.c struct iscsi_conn *conn = bnx2i_conn->cls_conn->dd_data; conn 1572 drivers/scsi/bnx2i/bnx2i_hwi.c task = iscsi_itt_to_task(conn, conn 1585 drivers/scsi/bnx2i/bnx2i_hwi.c __iscsi_complete_pdu(conn, (struct iscsi_hdr *)resp_hdr, NULL, 0); conn 1604 drivers/scsi/bnx2i/bnx2i_hwi.c struct iscsi_conn *conn = bnx2i_conn->cls_conn->dd_data; conn 1611 drivers/scsi/bnx2i/bnx2i_hwi.c task = iscsi_itt_to_task(conn, conn 1630 drivers/scsi/bnx2i/bnx2i_hwi.c __iscsi_complete_pdu(conn, (struct iscsi_hdr *)resp_hdr, NULL, 0); conn 1650 drivers/scsi/bnx2i/bnx2i_hwi.c struct iscsi_conn *conn = bnx2i_conn->cls_conn->dd_data; conn 1656 drivers/scsi/bnx2i/bnx2i_hwi.c task = iscsi_itt_to_task(conn, conn 1691 drivers/scsi/bnx2i/bnx2i_hwi.c struct iscsi_conn *conn = bnx2i_conn->cls_conn->dd_data; conn 1715 drivers/scsi/bnx2i/bnx2i_hwi.c task = iscsi_itt_to_task(conn, conn 1724 drivers/scsi/bnx2i/bnx2i_hwi.c __iscsi_complete_pdu(conn, (struct iscsi_hdr *)hdr, NULL, 0); conn 1793 drivers/scsi/bnx2i/bnx2i_hwi.c struct iscsi_conn *conn = bnx2i_conn->cls_conn->dd_data; conn 1799 drivers/scsi/bnx2i/bnx2i_hwi.c bnx2i_get_rq_buf(bnx2i_conn, conn->data, reject->data_length); conn 1813 drivers/scsi/bnx2i/bnx2i_hwi.c __iscsi_complete_pdu(conn, (struct iscsi_hdr *)hdr, conn->data, conn 1831 drivers/scsi/bnx2i/bnx2i_hwi.c struct iscsi_conn *conn = bnx2i_conn->cls_conn->dd_data; conn 1836 drivers/scsi/bnx2i/bnx2i_hwi.c task = iscsi_itt_to_task(conn, conn 1954 drivers/scsi/bnx2i/bnx2i_hwi.c struct iscsi_conn *conn = bnx2i_conn->cls_conn->dd_data; conn 1955 drivers/scsi/bnx2i/bnx2i_hwi.c struct iscsi_session *session = conn->session; conn 1977 drivers/scsi/bnx2i/bnx2i_hwi.c if (unlikely(test_bit(ISCSI_SUSPEND_BIT, &conn->suspend_rx))) { conn 2120 drivers/scsi/bnx2i/bnx2i_hwi.c struct bnx2i_conn *conn; conn 2124 drivers/scsi/bnx2i/bnx2i_hwi.c conn = bnx2i_get_conn_from_id(hba, iscsi_cid); conn 2126 drivers/scsi/bnx2i/bnx2i_hwi.c if (!conn) { conn 2130 drivers/scsi/bnx2i/bnx2i_hwi.c if (!conn->ep) { conn 2137 drivers/scsi/bnx2i/bnx2i_hwi.c conn->ep->state = EP_STATE_ULP_UPDATE_FAILED; conn 2139 drivers/scsi/bnx2i/bnx2i_hwi.c conn->ep->state = EP_STATE_ULP_UPDATE_COMPL; conn 2141 drivers/scsi/bnx2i/bnx2i_hwi.c wake_up_interruptible(&conn->ep->ofld_wait); conn 2628 drivers/scsi/bnx2i/bnx2i_hwi.c if (ep->conn) conn 2629 drivers/scsi/bnx2i/bnx2i_hwi.c bnx2i_recovery_que_add_conn(ep->hba, ep->conn); conn 2649 drivers/scsi/bnx2i/bnx2i_hwi.c if (ep->conn) conn 2650 drivers/scsi/bnx2i/bnx2i_hwi.c bnx2i_recovery_que_add_conn(ep->hba, ep->conn); conn 114 drivers/scsi/bnx2i/bnx2i_iscsi.c if ((start_bd_offset > task->conn->session->first_burst) || conn 118 drivers/scsi/bnx2i/bnx2i_iscsi.c iscsi_conn_printk(KERN_ALERT, task->conn, conn 124 drivers/scsi/bnx2i/bnx2i_iscsi.c iscsi_conn_printk(KERN_ALERT, task->conn, conn 190 drivers/scsi/bnx2i/bnx2i_iscsi.c bd_count = bnx2i_map_scsi_sg(cmd->conn->hba, cmd); conn 427 drivers/scsi/bnx2i/bnx2i_iscsi.c if (bnx2i_ep->conn) { conn 428 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->conn->ep = NULL; conn 429 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->conn = NULL; conn 1084 drivers/scsi/bnx2i/bnx2i_iscsi.c struct bnx2i_conn *bnx2i_conn = cmd->conn; conn 1160 drivers/scsi/bnx2i/bnx2i_iscsi.c struct iscsi_conn *conn = task->conn; conn 1161 drivers/scsi/bnx2i/bnx2i_iscsi.c struct bnx2i_conn *bnx2i_conn = conn->dd_data; conn 1175 drivers/scsi/bnx2i/bnx2i_iscsi.c spin_unlock_bh(&conn->session->back_lock); conn 1176 drivers/scsi/bnx2i/bnx2i_iscsi.c spin_unlock_bh(&conn->session->frwd_lock); conn 1179 drivers/scsi/bnx2i/bnx2i_iscsi.c spin_lock_bh(&conn->session->frwd_lock); conn 1180 drivers/scsi/bnx2i/bnx2i_iscsi.c spin_lock_bh(&conn->session->back_lock); conn 1191 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_mtask_xmit(struct iscsi_conn *conn, struct iscsi_task *task) conn 1193 drivers/scsi/bnx2i/bnx2i_iscsi.c struct bnx2i_conn *bnx2i_conn = conn->dd_data; conn 1212 drivers/scsi/bnx2i/bnx2i_iscsi.c cmd->conn = conn->dd_data; conn 1225 drivers/scsi/bnx2i/bnx2i_iscsi.c struct iscsi_conn *conn = task->conn; conn 1226 drivers/scsi/bnx2i/bnx2i_iscsi.c struct iscsi_session *session = conn->session; conn 1229 drivers/scsi/bnx2i/bnx2i_iscsi.c struct bnx2i_conn *bnx2i_conn = conn->dd_data; conn 1242 drivers/scsi/bnx2i/bnx2i_iscsi.c return bnx2i_mtask_xmit(conn, task); conn 1246 drivers/scsi/bnx2i/bnx2i_iscsi.c cmd->conn = bnx2i_conn; conn 1364 drivers/scsi/bnx2i/bnx2i_iscsi.c struct iscsi_conn *conn; conn 1370 drivers/scsi/bnx2i/bnx2i_iscsi.c conn = cls_conn->dd_data; conn 1372 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_conn = conn->dd_data; conn 1383 drivers/scsi/bnx2i/bnx2i_iscsi.c iscsi_conn_printk(KERN_ALERT, conn, conn 1411 drivers/scsi/bnx2i/bnx2i_iscsi.c struct iscsi_conn *conn = cls_conn->dd_data; conn 1412 drivers/scsi/bnx2i/bnx2i_iscsi.c struct bnx2i_conn *bnx2i_conn = conn->dd_data; conn 1449 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->conn = bnx2i_conn; conn 1477 drivers/scsi/bnx2i/bnx2i_iscsi.c struct iscsi_conn *conn = cls_conn->dd_data; conn 1478 drivers/scsi/bnx2i/bnx2i_iscsi.c struct bnx2i_conn *bnx2i_conn = conn->dd_data; conn 1496 drivers/scsi/bnx2i/bnx2i_iscsi.c if (work->session == conn->session && conn 1604 drivers/scsi/bnx2i/bnx2i_iscsi.c struct iscsi_conn *conn = cls_conn->dd_data; conn 1605 drivers/scsi/bnx2i/bnx2i_iscsi.c struct bnx2i_conn *bnx2i_conn = conn->dd_data; conn 1608 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_update_iscsi_conn(conn); conn 1638 drivers/scsi/bnx2i/bnx2i_iscsi.c struct iscsi_conn *conn = cls_conn->dd_data; conn 1640 drivers/scsi/bnx2i/bnx2i_iscsi.c stats->txdata_octets = conn->txdata_octets; conn 1641 drivers/scsi/bnx2i/bnx2i_iscsi.c stats->rxdata_octets = conn->rxdata_octets; conn 1642 drivers/scsi/bnx2i/bnx2i_iscsi.c stats->scsicmd_pdus = conn->scsicmd_pdus_cnt; conn 1643 drivers/scsi/bnx2i/bnx2i_iscsi.c stats->dataout_pdus = conn->dataout_pdus_cnt; conn 1644 drivers/scsi/bnx2i/bnx2i_iscsi.c stats->scsirsp_pdus = conn->scsirsp_pdus_cnt; conn 1645 drivers/scsi/bnx2i/bnx2i_iscsi.c stats->datain_pdus = conn->datain_pdus_cnt; conn 1646 drivers/scsi/bnx2i/bnx2i_iscsi.c stats->r2t_pdus = conn->r2t_pdus_cnt; conn 1647 drivers/scsi/bnx2i/bnx2i_iscsi.c stats->tmfcmd_pdus = conn->tmfcmd_pdus_cnt; conn 1648 drivers/scsi/bnx2i/bnx2i_iscsi.c stats->tmfrsp_pdus = conn->tmfrsp_pdus_cnt; conn 1652 drivers/scsi/bnx2i/bnx2i_iscsi.c stats->custom[0].value = conn->eh_abort_cnt; conn 1713 drivers/scsi/bnx2i/bnx2i_iscsi.c if (ep->conn && ep->conn->cls_conn && conn 1714 drivers/scsi/bnx2i/bnx2i_iscsi.c ep->conn->cls_conn->dd_data) { conn 1715 drivers/scsi/bnx2i/bnx2i_iscsi.c struct iscsi_conn *conn = ep->conn->cls_conn->dd_data; conn 1718 drivers/scsi/bnx2i/bnx2i_iscsi.c set_bit(ISCSI_SUSPEND_BIT, &conn->suspend_rx); conn 2028 drivers/scsi/bnx2i/bnx2i_iscsi.c struct iscsi_conn *conn = NULL; conn 2047 drivers/scsi/bnx2i/bnx2i_iscsi.c if (bnx2i_ep->conn) { conn 2048 drivers/scsi/bnx2i/bnx2i_iscsi.c conn = bnx2i_ep->conn->cls_conn->dd_data; conn 2049 drivers/scsi/bnx2i/bnx2i_iscsi.c session = conn->session; conn 2119 drivers/scsi/bnx2i/bnx2i_iscsi.c struct iscsi_conn *conn = NULL; conn 2132 drivers/scsi/bnx2i/bnx2i_iscsi.c if (bnx2i_ep->conn) { conn 2133 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_conn = bnx2i_ep->conn; conn 2134 drivers/scsi/bnx2i/bnx2i_iscsi.c conn = bnx2i_conn->cls_conn->dd_data; conn 2135 drivers/scsi/bnx2i/bnx2i_iscsi.c iscsi_suspend_queue(conn); conn 1430 drivers/scsi/cxgbi/libcxgbi.c struct iscsi_tcp_conn *tcp_conn = task->conn->dd_data; conn 1461 drivers/scsi/cxgbi/libcxgbi.c struct iscsi_conn *conn = task->conn; conn 1462 drivers/scsi/cxgbi/libcxgbi.c struct iscsi_session *sess = conn->session; conn 1463 drivers/scsi/cxgbi/libcxgbi.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 1501 drivers/scsi/cxgbi/libcxgbi.c void cxgbi_parse_pdu_itt(struct iscsi_conn *conn, itt_t itt, int *idx, int *age) conn 1503 drivers/scsi/cxgbi/libcxgbi.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 1529 drivers/scsi/cxgbi/libcxgbi.c struct iscsi_conn *conn = csk->user_data; conn 1531 drivers/scsi/cxgbi/libcxgbi.c if (conn) { conn 1533 drivers/scsi/cxgbi/libcxgbi.c "csk 0x%p, cid %d.\n", csk, conn->id); conn 1534 drivers/scsi/cxgbi/libcxgbi.c iscsi_conn_queue_work(conn); conn 1542 drivers/scsi/cxgbi/libcxgbi.c static inline int read_pdu_skb(struct iscsi_conn *conn, conn 1550 drivers/scsi/cxgbi/libcxgbi.c bytes_read = iscsi_tcp_recv_skb(conn, skb, offset, offloaded, &status); conn 1569 drivers/scsi/cxgbi/libcxgbi.c iscsi_conn_printk(KERN_ERR, conn, "Invalid pdu or skb."); conn 1584 drivers/scsi/cxgbi/libcxgbi.c skb_read_pdu_bhs(struct cxgbi_sock *csk, struct iscsi_conn *conn, conn 1587 drivers/scsi/cxgbi/libcxgbi.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 1592 drivers/scsi/cxgbi/libcxgbi.c conn, skb, skb->len, cxgbi_skcb_flags(skb)); conn 1595 drivers/scsi/cxgbi/libcxgbi.c pr_info("conn 0x%p, skb 0x%p, not hdr.\n", conn, skb); conn 1596 drivers/scsi/cxgbi/libcxgbi.c iscsi_conn_failure(conn, ISCSI_ERR_PROTO); conn 1600 drivers/scsi/cxgbi/libcxgbi.c if (conn->hdrdgst_en && conn 1602 drivers/scsi/cxgbi/libcxgbi.c pr_info("conn 0x%p, skb 0x%p, hcrc.\n", conn, skb); conn 1603 drivers/scsi/cxgbi/libcxgbi.c iscsi_conn_failure(conn, ISCSI_ERR_HDR_DGST); conn 1616 drivers/scsi/cxgbi/libcxgbi.c struct iscsi_task *task = iscsi_itt_to_ctask(conn, itt); conn 1626 drivers/scsi/cxgbi/libcxgbi.c err = read_pdu_skb(conn, skb, 0, 0); conn 1638 drivers/scsi/cxgbi/libcxgbi.c static int skb_read_pdu_data(struct iscsi_conn *conn, struct sk_buff *lskb, conn 1641 drivers/scsi/cxgbi/libcxgbi.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 1647 drivers/scsi/cxgbi/libcxgbi.c conn, skb, skb->len, cxgbi_skcb_flags(skb)); conn 1649 drivers/scsi/cxgbi/libcxgbi.c if (conn->datadgst_en && conn 1652 drivers/scsi/cxgbi/libcxgbi.c conn, lskb, cxgbi_skcb_flags(lskb)); conn 1653 drivers/scsi/cxgbi/libcxgbi.c iscsi_conn_failure(conn, ISCSI_ERR_DATA_DGST); conn 1661 drivers/scsi/cxgbi/libcxgbi.c if (lskb == skb && conn->hdrdgst_en) conn 1673 drivers/scsi/cxgbi/libcxgbi.c return read_pdu_skb(conn, skb, offset, offloaded); conn 1705 drivers/scsi/cxgbi/libcxgbi.c struct iscsi_conn *conn = csk->user_data; conn 1711 drivers/scsi/cxgbi/libcxgbi.c "csk 0x%p, conn 0x%p.\n", csk, conn); conn 1713 drivers/scsi/cxgbi/libcxgbi.c if (unlikely(!conn || conn->suspend_rx)) { conn 1716 drivers/scsi/cxgbi/libcxgbi.c csk, conn, conn ? conn->id : 0xFF, conn 1717 drivers/scsi/cxgbi/libcxgbi.c conn ? conn->suspend_rx : 0xFF); conn 1740 drivers/scsi/cxgbi/libcxgbi.c err = skb_read_pdu_bhs(csk, conn, skb); conn 1749 drivers/scsi/cxgbi/libcxgbi.c err = skb_read_pdu_data(conn, skb, skb, conn 1758 drivers/scsi/cxgbi/libcxgbi.c err = skb_read_pdu_bhs(csk, conn, skb); conn 1783 drivers/scsi/cxgbi/libcxgbi.c err = skb_read_pdu_data(conn, skb, dskb, 0); conn 1794 drivers/scsi/cxgbi/libcxgbi.c err = skb_read_pdu_data(conn, skb, skb, 0); conn 1807 drivers/scsi/cxgbi/libcxgbi.c conn->rxdata_octets += read; conn 1812 drivers/scsi/cxgbi/libcxgbi.c csk, conn, err, read); conn 1813 drivers/scsi/cxgbi/libcxgbi.c iscsi_conn_failure(conn, ISCSI_ERR_CONN_FAILED); conn 1888 drivers/scsi/cxgbi/libcxgbi.c struct iscsi_tcp_conn *tcp_conn = task->conn->dd_data; conn 1891 drivers/scsi/cxgbi/libcxgbi.c struct iscsi_conn *conn = task->conn; conn 1909 drivers/scsi/cxgbi/libcxgbi.c conn->max_xmit_dlength); conn 1939 drivers/scsi/cxgbi/libcxgbi.c conn->max_xmit_dlength, ntohl(task->hdr->itt)); conn 1962 drivers/scsi/cxgbi/libcxgbi.c struct iscsi_conn *conn = task->conn; conn 1975 drivers/scsi/cxgbi/libcxgbi.c tx_skb_setmode(skb, conn->hdrdgst_en, datalen ? conn->datadgst_en : 0); conn 2064 drivers/scsi/cxgbi/libcxgbi.c struct iscsi_tcp_conn *tcp_conn = task->conn->dd_data; conn 2112 drivers/scsi/cxgbi/libcxgbi.c if (task->conn->hdrdgst_en) conn 2115 drivers/scsi/cxgbi/libcxgbi.c if (datalen && task->conn->datadgst_en) conn 2118 drivers/scsi/cxgbi/libcxgbi.c task->conn->txdata_octets += pdulen; conn 2137 drivers/scsi/cxgbi/libcxgbi.c iscsi_conn_printk(KERN_ERR, task->conn, "xmit err %d.\n", err); conn 2138 drivers/scsi/cxgbi/libcxgbi.c iscsi_conn_failure(task->conn, ISCSI_ERR_XMIT_FAILED); conn 2181 drivers/scsi/cxgbi/libcxgbi.c struct iscsi_conn *conn = cls_conn->dd_data; conn 2183 drivers/scsi/cxgbi/libcxgbi.c stats->txdata_octets = conn->txdata_octets; conn 2184 drivers/scsi/cxgbi/libcxgbi.c stats->rxdata_octets = conn->rxdata_octets; conn 2185 drivers/scsi/cxgbi/libcxgbi.c stats->scsicmd_pdus = conn->scsicmd_pdus_cnt; conn 2186 drivers/scsi/cxgbi/libcxgbi.c stats->dataout_pdus = conn->dataout_pdus_cnt; conn 2187 drivers/scsi/cxgbi/libcxgbi.c stats->scsirsp_pdus = conn->scsirsp_pdus_cnt; conn 2188 drivers/scsi/cxgbi/libcxgbi.c stats->datain_pdus = conn->datain_pdus_cnt; conn 2189 drivers/scsi/cxgbi/libcxgbi.c stats->r2t_pdus = conn->r2t_pdus_cnt; conn 2190 drivers/scsi/cxgbi/libcxgbi.c stats->tmfcmd_pdus = conn->tmfcmd_pdus_cnt; conn 2191 drivers/scsi/cxgbi/libcxgbi.c stats->tmfrsp_pdus = conn->tmfrsp_pdus_cnt; conn 2196 drivers/scsi/cxgbi/libcxgbi.c stats->custom[0].value = conn->eh_abort_cnt; conn 2200 drivers/scsi/cxgbi/libcxgbi.c static int cxgbi_conn_max_xmit_dlength(struct iscsi_conn *conn) conn 2202 drivers/scsi/cxgbi/libcxgbi.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 2210 drivers/scsi/cxgbi/libcxgbi.c if (conn->max_xmit_dlength) conn 2211 drivers/scsi/cxgbi/libcxgbi.c conn->max_xmit_dlength = min(conn->max_xmit_dlength, max); conn 2213 drivers/scsi/cxgbi/libcxgbi.c conn->max_xmit_dlength = max; conn 2214 drivers/scsi/cxgbi/libcxgbi.c cxgbi_align_pdu_size(conn->max_xmit_dlength); conn 2219 drivers/scsi/cxgbi/libcxgbi.c static int cxgbi_conn_max_recv_dlength(struct iscsi_conn *conn) conn 2221 drivers/scsi/cxgbi/libcxgbi.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 2227 drivers/scsi/cxgbi/libcxgbi.c if (conn->max_recv_dlength) { conn 2228 drivers/scsi/cxgbi/libcxgbi.c if (conn->max_recv_dlength > max) { conn 2230 drivers/scsi/cxgbi/libcxgbi.c conn->max_recv_dlength, max); conn 2233 drivers/scsi/cxgbi/libcxgbi.c conn->max_recv_dlength = min(conn->max_recv_dlength, max); conn 2234 drivers/scsi/cxgbi/libcxgbi.c cxgbi_align_pdu_size(conn->max_recv_dlength); conn 2236 drivers/scsi/cxgbi/libcxgbi.c conn->max_recv_dlength = max; conn 2244 drivers/scsi/cxgbi/libcxgbi.c struct iscsi_conn *conn = cls_conn->dd_data; conn 2245 drivers/scsi/cxgbi/libcxgbi.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 2257 drivers/scsi/cxgbi/libcxgbi.c if (!err && conn->hdrdgst_en) conn 2259 drivers/scsi/cxgbi/libcxgbi.c conn->hdrdgst_en, conn 2260 drivers/scsi/cxgbi/libcxgbi.c conn->datadgst_en); conn 2264 drivers/scsi/cxgbi/libcxgbi.c if (!err && conn->datadgst_en) conn 2266 drivers/scsi/cxgbi/libcxgbi.c conn->hdrdgst_en, conn 2267 drivers/scsi/cxgbi/libcxgbi.c conn->datadgst_en); conn 2270 drivers/scsi/cxgbi/libcxgbi.c return iscsi_tcp_set_max_r2t(conn, buf); conn 2274 drivers/scsi/cxgbi/libcxgbi.c err = cxgbi_conn_max_recv_dlength(conn); conn 2279 drivers/scsi/cxgbi/libcxgbi.c err = cxgbi_conn_max_xmit_dlength(conn); conn 2348 drivers/scsi/cxgbi/libcxgbi.c struct iscsi_conn *conn; conn 2356 drivers/scsi/cxgbi/libcxgbi.c conn = cls_conn->dd_data; conn 2357 drivers/scsi/cxgbi/libcxgbi.c tcp_conn = conn->dd_data; conn 2359 drivers/scsi/cxgbi/libcxgbi.c cconn->iconn = conn; conn 2363 drivers/scsi/cxgbi/libcxgbi.c cid, cid, cls_session, cls_conn, conn, tcp_conn, cconn); conn 2373 drivers/scsi/cxgbi/libcxgbi.c struct iscsi_conn *conn = cls_conn->dd_data; conn 2374 drivers/scsi/cxgbi/libcxgbi.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 2401 drivers/scsi/cxgbi/libcxgbi.c cconn->task_idx_bits = (__ilog2_u32(conn->session->cmds_max - 1)) + 1; conn 2404 drivers/scsi/cxgbi/libcxgbi.c csk->user_data = conn; conn 2410 drivers/scsi/cxgbi/libcxgbi.c cxgbi_conn_max_xmit_dlength(conn); conn 2411 drivers/scsi/cxgbi/libcxgbi.c cxgbi_conn_max_recv_dlength(conn); conn 83 drivers/scsi/iscsi_tcp.c struct iscsi_conn *conn = rd_desc->arg.data; conn 87 drivers/scsi/iscsi_tcp.c ISCSI_SW_TCP_DBG(conn, "in %d bytes\n", skb->len - offset); conn 91 drivers/scsi/iscsi_tcp.c consumed = iscsi_tcp_recv_skb(conn, skb, offset, 0, &status); conn 96 drivers/scsi/iscsi_tcp.c ISCSI_SW_TCP_DBG(conn, "read %d bytes status %d\n", conn 113 drivers/scsi/iscsi_tcp.c struct iscsi_conn *conn = sk->sk_user_data; conn 116 drivers/scsi/iscsi_tcp.c (conn->session->state != ISCSI_STATE_LOGGING_OUT) && conn 118 drivers/scsi/iscsi_tcp.c ISCSI_SW_TCP_DBG(conn, "TCP_CLOSE|TCP_CLOSE_WAIT\n"); conn 119 drivers/scsi/iscsi_tcp.c iscsi_conn_failure(conn, ISCSI_ERR_TCP_CONN_CLOSE); conn 127 drivers/scsi/iscsi_tcp.c struct iscsi_conn *conn; conn 132 drivers/scsi/iscsi_tcp.c conn = sk->sk_user_data; conn 133 drivers/scsi/iscsi_tcp.c if (!conn) { conn 137 drivers/scsi/iscsi_tcp.c tcp_conn = conn->dd_data; conn 145 drivers/scsi/iscsi_tcp.c rd_desc.arg.data = conn; conn 161 drivers/scsi/iscsi_tcp.c struct iscsi_conn *conn; conn 165 drivers/scsi/iscsi_tcp.c conn = sk->sk_user_data; conn 166 drivers/scsi/iscsi_tcp.c if (!conn) { conn 173 drivers/scsi/iscsi_tcp.c tcp_conn = conn->dd_data; conn 188 drivers/scsi/iscsi_tcp.c struct iscsi_conn *conn; conn 194 drivers/scsi/iscsi_tcp.c conn = sk->sk_user_data; conn 195 drivers/scsi/iscsi_tcp.c if (!conn) { conn 200 drivers/scsi/iscsi_tcp.c tcp_conn = conn->dd_data; conn 207 drivers/scsi/iscsi_tcp.c ISCSI_SW_TCP_DBG(conn, "iscsi_write_space\n"); conn 208 drivers/scsi/iscsi_tcp.c iscsi_conn_queue_work(conn); conn 211 drivers/scsi/iscsi_tcp.c static void iscsi_sw_tcp_conn_set_callbacks(struct iscsi_conn *conn) conn 213 drivers/scsi/iscsi_tcp.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 219 drivers/scsi/iscsi_tcp.c sk->sk_user_data = conn; conn 230 drivers/scsi/iscsi_tcp.c iscsi_sw_tcp_conn_restore_callbacks(struct iscsi_conn *conn) conn 232 drivers/scsi/iscsi_tcp.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 308 drivers/scsi/iscsi_tcp.c static int iscsi_sw_tcp_xmit(struct iscsi_conn *conn) conn 310 drivers/scsi/iscsi_tcp.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 342 drivers/scsi/iscsi_tcp.c ISCSI_SW_TCP_DBG(conn, "xmit %d bytes\n", consumed); conn 344 drivers/scsi/iscsi_tcp.c conn->txdata_octets += consumed; conn 350 drivers/scsi/iscsi_tcp.c ISCSI_SW_TCP_DBG(conn, "Error sending PDU, errno=%d\n", rc); conn 351 drivers/scsi/iscsi_tcp.c iscsi_conn_failure(conn, rc); conn 359 drivers/scsi/iscsi_tcp.c static inline int iscsi_sw_tcp_xmit_qlen(struct iscsi_conn *conn) conn 361 drivers/scsi/iscsi_tcp.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 370 drivers/scsi/iscsi_tcp.c struct iscsi_conn *conn = task->conn; conn 372 drivers/scsi/iscsi_tcp.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 377 drivers/scsi/iscsi_tcp.c iscsi_conn_printk(KERN_ERR, conn, conn 384 drivers/scsi/iscsi_tcp.c while (iscsi_sw_tcp_xmit_qlen(conn)) { conn 385 drivers/scsi/iscsi_tcp.c rc = iscsi_sw_tcp_xmit(conn); conn 416 drivers/scsi/iscsi_tcp.c static void iscsi_sw_tcp_send_hdr_prep(struct iscsi_conn *conn, void *hdr, conn 419 drivers/scsi/iscsi_tcp.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 422 drivers/scsi/iscsi_tcp.c ISCSI_SW_TCP_DBG(conn, "%s\n", conn->hdrdgst_en ? conn 435 drivers/scsi/iscsi_tcp.c if (conn->hdrdgst_en) { conn 456 drivers/scsi/iscsi_tcp.c iscsi_sw_tcp_send_data_prep(struct iscsi_conn *conn, struct scatterlist *sg, conn 460 drivers/scsi/iscsi_tcp.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 465 drivers/scsi/iscsi_tcp.c ISCSI_SW_TCP_DBG(conn, "offset=%d, datalen=%d %s\n", offset, len, conn 466 drivers/scsi/iscsi_tcp.c conn->datadgst_en ? conn 474 drivers/scsi/iscsi_tcp.c if (conn->datadgst_en) conn 483 drivers/scsi/iscsi_tcp.c iscsi_sw_tcp_send_linear_data_prep(struct iscsi_conn *conn, void *data, conn 486 drivers/scsi/iscsi_tcp.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 491 drivers/scsi/iscsi_tcp.c ISCSI_SW_TCP_DBG(conn, "datalen=%zd %s\n", len, conn->datadgst_en ? conn 499 drivers/scsi/iscsi_tcp.c if (conn->datadgst_en) conn 509 drivers/scsi/iscsi_tcp.c struct iscsi_conn *conn = task->conn; conn 512 drivers/scsi/iscsi_tcp.c iscsi_sw_tcp_send_hdr_prep(conn, task->hdr, task->hdr_len); conn 518 drivers/scsi/iscsi_tcp.c iscsi_sw_tcp_send_linear_data_prep(conn, task->data, count); conn 522 drivers/scsi/iscsi_tcp.c err = iscsi_sw_tcp_send_data_prep(conn, sdb->table.sgl, conn 547 drivers/scsi/iscsi_tcp.c struct iscsi_conn *conn; conn 557 drivers/scsi/iscsi_tcp.c conn = cls_conn->dd_data; conn 558 drivers/scsi/iscsi_tcp.c tcp_conn = conn->dd_data; conn 584 drivers/scsi/iscsi_tcp.c iscsi_conn_printk(KERN_ERR, conn, conn 593 drivers/scsi/iscsi_tcp.c static void iscsi_sw_tcp_release_conn(struct iscsi_conn *conn) conn 595 drivers/scsi/iscsi_tcp.c struct iscsi_session *session = conn->session; conn 596 drivers/scsi/iscsi_tcp.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 604 drivers/scsi/iscsi_tcp.c iscsi_sw_tcp_conn_restore_callbacks(conn); conn 615 drivers/scsi/iscsi_tcp.c struct iscsi_conn *conn = cls_conn->dd_data; conn 616 drivers/scsi/iscsi_tcp.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 619 drivers/scsi/iscsi_tcp.c iscsi_sw_tcp_release_conn(conn); conn 635 drivers/scsi/iscsi_tcp.c struct iscsi_conn *conn = cls_conn->dd_data; conn 636 drivers/scsi/iscsi_tcp.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 648 drivers/scsi/iscsi_tcp.c iscsi_suspend_tx(conn); conn 651 drivers/scsi/iscsi_tcp.c iscsi_sw_tcp_release_conn(conn); conn 662 drivers/scsi/iscsi_tcp.c struct iscsi_conn *conn = cls_conn->dd_data; conn 663 drivers/scsi/iscsi_tcp.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 672 drivers/scsi/iscsi_tcp.c iscsi_conn_printk(KERN_ERR, conn, conn 693 drivers/scsi/iscsi_tcp.c iscsi_sw_tcp_conn_set_callbacks(conn); conn 710 drivers/scsi/iscsi_tcp.c struct iscsi_conn *conn = cls_conn->dd_data; conn 711 drivers/scsi/iscsi_tcp.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 720 drivers/scsi/iscsi_tcp.c tcp_sw_conn->sendpage = conn->datadgst_en ? conn 724 drivers/scsi/iscsi_tcp.c return iscsi_tcp_set_max_r2t(conn, buf); conn 735 drivers/scsi/iscsi_tcp.c struct iscsi_conn *conn = cls_conn->dd_data; conn 736 drivers/scsi/iscsi_tcp.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 745 drivers/scsi/iscsi_tcp.c spin_lock_bh(&conn->session->frwd_lock); conn 747 drivers/scsi/iscsi_tcp.c spin_unlock_bh(&conn->session->frwd_lock); conn 756 drivers/scsi/iscsi_tcp.c spin_unlock_bh(&conn->session->frwd_lock); conn 774 drivers/scsi/iscsi_tcp.c struct iscsi_conn *conn; conn 786 drivers/scsi/iscsi_tcp.c conn = session->leadconn; conn 787 drivers/scsi/iscsi_tcp.c if (!conn) { conn 791 drivers/scsi/iscsi_tcp.c tcp_conn = conn->dd_data; conn 819 drivers/scsi/iscsi_tcp.c struct iscsi_conn *conn = cls_conn->dd_data; conn 820 drivers/scsi/iscsi_tcp.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 829 drivers/scsi/iscsi_tcp.c stats->custom[2].value = conn->eh_abort_cnt; conn 962 drivers/scsi/iscsi_tcp.c struct iscsi_conn *conn = session->leadconn; conn 964 drivers/scsi/iscsi_tcp.c if (conn->datadgst_en) conn 86 drivers/scsi/libiscsi.c inline void iscsi_conn_queue_work(struct iscsi_conn *conn) conn 88 drivers/scsi/libiscsi.c struct Scsi_Host *shost = conn->session->host; conn 92 drivers/scsi/libiscsi.c queue_work(ihost->workq, &conn->xmitwork); conn 137 drivers/scsi/libiscsi.c struct iscsi_conn *conn = task->conn; conn 151 drivers/scsi/libiscsi.c if (left > conn->max_xmit_dlength) { conn 152 drivers/scsi/libiscsi.c hton24(hdr->dlength, conn->max_xmit_dlength); conn 153 drivers/scsi/libiscsi.c r2t->data_count = conn->max_xmit_dlength; conn 160 drivers/scsi/libiscsi.c conn->dataout_pdus_cnt++; conn 210 drivers/scsi/libiscsi.c ISCSI_DBG_SESSION(task->conn->session, conn 233 drivers/scsi/libiscsi.c struct iscsi_conn *conn = task->conn; conn 234 drivers/scsi/libiscsi.c struct iscsi_tm *tmf = &conn->tmhdr; conn 237 drivers/scsi/libiscsi.c if (conn->tmf_state == TMF_INITIAL) conn 257 drivers/scsi/libiscsi.c iscsi_conn_printk(KERN_INFO, conn, conn 269 drivers/scsi/libiscsi.c if (conn->session->fast_abort) { conn 270 drivers/scsi/libiscsi.c iscsi_conn_printk(KERN_INFO, conn, conn 287 drivers/scsi/libiscsi.c ISCSI_DBG_SESSION(conn->session, conn 309 drivers/scsi/libiscsi.c struct iscsi_conn *conn = task->conn; conn 310 drivers/scsi/libiscsi.c struct iscsi_session *session = conn->session; conn 321 drivers/scsi/libiscsi.c if (conn->session->tt->alloc_pdu) { conn 322 drivers/scsi/libiscsi.c rc = conn->session->tt->alloc_pdu(task, ISCSI_OP_SCSI_CMD); conn 334 drivers/scsi/libiscsi.c task->conn->session->age); conn 343 drivers/scsi/libiscsi.c hdr->exp_statsn = cpu_to_be32(conn->exp_statsn); conn 384 drivers/scsi/libiscsi.c conn->max_xmit_dlength); conn 387 drivers/scsi/libiscsi.c conn->max_xmit_dlength); conn 398 drivers/scsi/libiscsi.c r2t->exp_statsn = cpu_to_be32(conn->exp_statsn); conn 428 drivers/scsi/libiscsi.c conn->scsicmd_pdus_cnt++; conn 432 drivers/scsi/libiscsi.c "write" : "read", conn->id, sc, sc->cmnd[0], conn 449 drivers/scsi/libiscsi.c struct iscsi_conn *conn = task->conn; conn 450 drivers/scsi/libiscsi.c struct iscsi_session *session = conn->session; conn 463 drivers/scsi/libiscsi.c if (conn->login_task == task) conn 495 drivers/scsi/libiscsi.c struct iscsi_session *session = task->conn->session; conn 513 drivers/scsi/libiscsi.c struct iscsi_conn *conn = task->conn; conn 515 drivers/scsi/libiscsi.c ISCSI_DBG_SESSION(conn->session, conn 526 drivers/scsi/libiscsi.c spin_lock_bh(&conn->taskqueuelock); conn 531 drivers/scsi/libiscsi.c spin_unlock_bh(&conn->taskqueuelock); conn 533 drivers/scsi/libiscsi.c if (conn->task == task) conn 534 drivers/scsi/libiscsi.c conn->task = NULL; conn 536 drivers/scsi/libiscsi.c if (conn->ping_task == task) conn 537 drivers/scsi/libiscsi.c conn->ping_task = NULL; conn 557 drivers/scsi/libiscsi.c struct iscsi_conn *conn = task->conn; conn 559 drivers/scsi/libiscsi.c ISCSI_DBG_SESSION(conn->session, "[itt 0x%x]\n", task->itt); conn 561 drivers/scsi/libiscsi.c conn->last_recv = jiffies; conn 562 drivers/scsi/libiscsi.c __iscsi_update_cmdsn(conn->session, exp_cmdsn, max_cmdsn); conn 575 drivers/scsi/libiscsi.c struct iscsi_conn *conn = task->conn; conn 593 drivers/scsi/libiscsi.c conn->session->queued_cmdsn--; conn 605 drivers/scsi/libiscsi.c spin_lock_bh(&conn->session->back_lock); conn 607 drivers/scsi/libiscsi.c spin_unlock_bh(&conn->session->back_lock); conn 610 drivers/scsi/libiscsi.c static int iscsi_prep_mgmt_task(struct iscsi_conn *conn, conn 613 drivers/scsi/libiscsi.c struct iscsi_session *session = conn->session; conn 618 drivers/scsi/libiscsi.c if (conn->session->state == ISCSI_STATE_LOGGING_OUT) conn 622 drivers/scsi/libiscsi.c nop->exp_statsn = cpu_to_be32(conn->exp_statsn); conn 636 drivers/scsi/libiscsi.c if (conn->c_stage == ISCSI_CONN_STARTED && conn 657 drivers/scsi/libiscsi.c __iscsi_conn_send_pdu(struct iscsi_conn *conn, struct iscsi_hdr *hdr, conn 660 drivers/scsi/libiscsi.c struct iscsi_session *session = conn->session; conn 676 drivers/scsi/libiscsi.c if (conn->login_task->state != ISCSI_TASK_FREE) { conn 677 drivers/scsi/libiscsi.c iscsi_conn_printk(KERN_ERR, conn, "Login/Text in " conn 683 drivers/scsi/libiscsi.c iscsi_conn_printk(KERN_ERR, conn, "Invalid buffer len of %u for login task. Max len is %u\n", data_size, ISCSI_DEF_MAX_RECV_SEG_LEN); conn 687 drivers/scsi/libiscsi.c task = conn->login_task; conn 693 drivers/scsi/libiscsi.c iscsi_conn_printk(KERN_ERR, conn, "Can not send data buffer of len %u for op 0x%x\n", data_size, opcode); conn 697 drivers/scsi/libiscsi.c BUG_ON(conn->c_stage == ISCSI_CONN_INITIAL_STAGE); conn 698 drivers/scsi/libiscsi.c BUG_ON(conn->c_stage == ISCSI_CONN_STOPPED); conn 710 drivers/scsi/libiscsi.c task->conn = conn; conn 721 drivers/scsi/libiscsi.c if (conn->session->tt->alloc_pdu) { conn 722 drivers/scsi/libiscsi.c if (conn->session->tt->alloc_pdu(task, hdr->opcode)) { conn 723 drivers/scsi/libiscsi.c iscsi_conn_printk(KERN_ERR, conn, "Could not allocate " conn 738 drivers/scsi/libiscsi.c task->conn->session->age); conn 742 drivers/scsi/libiscsi.c if (iscsi_prep_mgmt_task(conn, task)) conn 748 drivers/scsi/libiscsi.c spin_lock_bh(&conn->taskqueuelock); conn 749 drivers/scsi/libiscsi.c list_add_tail(&task->running, &conn->mgmtqueue); conn 750 drivers/scsi/libiscsi.c spin_unlock_bh(&conn->taskqueuelock); conn 751 drivers/scsi/libiscsi.c iscsi_conn_queue_work(conn); conn 767 drivers/scsi/libiscsi.c struct iscsi_conn *conn = cls_conn->dd_data; conn 768 drivers/scsi/libiscsi.c struct iscsi_session *session = conn->session; conn 772 drivers/scsi/libiscsi.c if (!__iscsi_conn_send_pdu(conn, hdr, data, data_size)) conn 790 drivers/scsi/libiscsi.c static void iscsi_scsi_cmd_rsp(struct iscsi_conn *conn, struct iscsi_hdr *hdr, conn 795 drivers/scsi/libiscsi.c struct iscsi_session *session = conn->session; conn 799 drivers/scsi/libiscsi.c conn->exp_statsn = be32_to_cpu(rhdr->statsn) + 1; conn 837 drivers/scsi/libiscsi.c iscsi_conn_printk(KERN_ERR, conn, conn 875 drivers/scsi/libiscsi.c conn->scsirsp_pdus_cnt++; conn 889 drivers/scsi/libiscsi.c iscsi_data_in_rsp(struct iscsi_conn *conn, struct iscsi_hdr *hdr, conn 898 drivers/scsi/libiscsi.c iscsi_update_cmdsn(conn->session, (struct iscsi_nopin *)hdr); conn 900 drivers/scsi/libiscsi.c conn->exp_statsn = be32_to_cpu(rhdr->statsn) + 1; conn 913 drivers/scsi/libiscsi.c ISCSI_DBG_SESSION(conn->session, "data in with status done " conn 916 drivers/scsi/libiscsi.c conn->scsirsp_pdus_cnt++; conn 920 drivers/scsi/libiscsi.c static void iscsi_tmf_rsp(struct iscsi_conn *conn, struct iscsi_hdr *hdr) conn 924 drivers/scsi/libiscsi.c conn->exp_statsn = be32_to_cpu(hdr->statsn) + 1; conn 925 drivers/scsi/libiscsi.c conn->tmfrsp_pdus_cnt++; conn 927 drivers/scsi/libiscsi.c if (conn->tmf_state != TMF_QUEUED) conn 931 drivers/scsi/libiscsi.c conn->tmf_state = TMF_SUCCESS; conn 933 drivers/scsi/libiscsi.c conn->tmf_state = TMF_NOT_FOUND; conn 935 drivers/scsi/libiscsi.c conn->tmf_state = TMF_FAILED; conn 936 drivers/scsi/libiscsi.c wake_up(&conn->ehwait); conn 939 drivers/scsi/libiscsi.c static int iscsi_send_nopout(struct iscsi_conn *conn, struct iscsi_nopin *rhdr) conn 944 drivers/scsi/libiscsi.c if (!rhdr && conn->ping_task) conn 958 drivers/scsi/libiscsi.c task = __iscsi_conn_send_pdu(conn, (struct iscsi_hdr *)&hdr, NULL, 0); conn 960 drivers/scsi/libiscsi.c iscsi_conn_printk(KERN_ERR, conn, "Could not send nopout\n"); conn 964 drivers/scsi/libiscsi.c conn->ping_task = task; conn 965 drivers/scsi/libiscsi.c conn->last_ping = jiffies; conn 984 drivers/scsi/libiscsi.c struct iscsi_conn *conn = task->conn; conn 987 drivers/scsi/libiscsi.c if (conn->ping_task != task) { conn 992 drivers/scsi/libiscsi.c if (iscsi_recv_pdu(conn->cls_conn, (struct iscsi_hdr *)nop, conn 996 drivers/scsi/libiscsi.c mod_timer(&conn->transport_timer, jiffies + conn->recv_timeout); conn 1001 drivers/scsi/libiscsi.c static int iscsi_handle_reject(struct iscsi_conn *conn, struct iscsi_hdr *hdr, conn 1008 drivers/scsi/libiscsi.c conn->exp_statsn = be32_to_cpu(reject->statsn) + 1; conn 1012 drivers/scsi/libiscsi.c iscsi_conn_printk(KERN_ERR, conn, "Cannot handle rejected " conn 1023 drivers/scsi/libiscsi.c iscsi_conn_printk(KERN_ERR, conn, conn 1029 drivers/scsi/libiscsi.c iscsi_conn_printk(KERN_ERR, conn, conn 1050 drivers/scsi/libiscsi.c spin_unlock(&conn->session->back_lock); conn 1051 drivers/scsi/libiscsi.c spin_lock(&conn->session->frwd_lock); conn 1052 drivers/scsi/libiscsi.c iscsi_send_nopout(conn, conn 1054 drivers/scsi/libiscsi.c spin_unlock(&conn->session->frwd_lock); conn 1055 drivers/scsi/libiscsi.c spin_lock(&conn->session->back_lock); conn 1062 drivers/scsi/libiscsi.c task = iscsi_itt_to_task(conn, rejected_pdu.itt); conn 1064 drivers/scsi/libiscsi.c iscsi_conn_printk(KERN_ERR, conn, conn 1075 drivers/scsi/libiscsi.c iscsi_conn_printk(KERN_ERR, conn, conn 1094 drivers/scsi/libiscsi.c struct iscsi_task *iscsi_itt_to_task(struct iscsi_conn *conn, itt_t itt) conn 1096 drivers/scsi/libiscsi.c struct iscsi_session *session = conn->session; conn 1103 drivers/scsi/libiscsi.c session->tt->parse_pdu_itt(conn, itt, &i, NULL); conn 1124 drivers/scsi/libiscsi.c int __iscsi_complete_pdu(struct iscsi_conn *conn, struct iscsi_hdr *hdr, conn 1127 drivers/scsi/libiscsi.c struct iscsi_session *session = conn->session; conn 1132 drivers/scsi/libiscsi.c conn->last_recv = jiffies; conn 1133 drivers/scsi/libiscsi.c rc = iscsi_verify_itt(conn, hdr->itt); conn 1143 drivers/scsi/libiscsi.c opcode, conn->id, itt, datalen); conn 1161 drivers/scsi/libiscsi.c iscsi_send_nopout(conn, (struct iscsi_nopin*)hdr); conn 1166 drivers/scsi/libiscsi.c rc = iscsi_handle_reject(conn, hdr, data, datalen); conn 1169 drivers/scsi/libiscsi.c conn->exp_statsn = be32_to_cpu(hdr->statsn) + 1; conn 1170 drivers/scsi/libiscsi.c if (iscsi_recv_pdu(conn->cls_conn, hdr, data, datalen)) conn 1183 drivers/scsi/libiscsi.c task = iscsi_itt_to_ctask(conn, hdr->itt); conn 1198 drivers/scsi/libiscsi.c task = iscsi_itt_to_task(conn, hdr->itt); conn 1208 drivers/scsi/libiscsi.c iscsi_scsi_cmd_rsp(conn, hdr, task, data, datalen); conn 1211 drivers/scsi/libiscsi.c iscsi_data_in_rsp(conn, hdr, task); conn 1219 drivers/scsi/libiscsi.c conn->exp_statsn = be32_to_cpu(hdr->statsn) + 1; conn 1236 drivers/scsi/libiscsi.c iscsi_tmf_rsp(conn, hdr); conn 1245 drivers/scsi/libiscsi.c conn->exp_statsn = be32_to_cpu(hdr->statsn) + 1; conn 1258 drivers/scsi/libiscsi.c if (iscsi_recv_pdu(conn->cls_conn, hdr, data, datalen)) conn 1265 drivers/scsi/libiscsi.c int iscsi_complete_pdu(struct iscsi_conn *conn, struct iscsi_hdr *hdr, conn 1270 drivers/scsi/libiscsi.c spin_lock(&conn->session->back_lock); conn 1271 drivers/scsi/libiscsi.c rc = __iscsi_complete_pdu(conn, hdr, data, datalen); conn 1272 drivers/scsi/libiscsi.c spin_unlock(&conn->session->back_lock); conn 1277 drivers/scsi/libiscsi.c int iscsi_verify_itt(struct iscsi_conn *conn, itt_t itt) conn 1279 drivers/scsi/libiscsi.c struct iscsi_session *session = conn->session; conn 1286 drivers/scsi/libiscsi.c session->tt->parse_pdu_itt(conn, itt, &i, &age); conn 1293 drivers/scsi/libiscsi.c iscsi_conn_printk(KERN_ERR, conn, conn 1300 drivers/scsi/libiscsi.c iscsi_conn_printk(KERN_ERR, conn, conn 1318 drivers/scsi/libiscsi.c struct iscsi_task *iscsi_itt_to_ctask(struct iscsi_conn *conn, itt_t itt) conn 1322 drivers/scsi/libiscsi.c if (iscsi_verify_itt(conn, itt)) conn 1325 drivers/scsi/libiscsi.c task = iscsi_itt_to_task(conn, itt); conn 1329 drivers/scsi/libiscsi.c if (task->sc->SCp.phase != conn->session->age) { conn 1330 drivers/scsi/libiscsi.c iscsi_session_printk(KERN_ERR, conn->session, conn 1332 drivers/scsi/libiscsi.c task->sc->SCp.phase, conn->session->age); conn 1343 drivers/scsi/libiscsi.c struct iscsi_conn *conn; conn 1347 drivers/scsi/libiscsi.c conn = session->leadconn; conn 1348 drivers/scsi/libiscsi.c if (session->state == ISCSI_STATE_TERMINATE || !conn) { conn 1353 drivers/scsi/libiscsi.c dev = get_device(&conn->cls_conn->dev); conn 1363 drivers/scsi/libiscsi.c iscsi_conn_error_event(conn->cls_conn, err); conn 1365 drivers/scsi/libiscsi.c iscsi_conn_failure(conn, err); conn 1370 drivers/scsi/libiscsi.c void iscsi_conn_failure(struct iscsi_conn *conn, enum iscsi_err err) conn 1372 drivers/scsi/libiscsi.c struct iscsi_session *session = conn->session; conn 1380 drivers/scsi/libiscsi.c if (conn->stop_stage == 0) conn 1384 drivers/scsi/libiscsi.c set_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx); conn 1385 drivers/scsi/libiscsi.c set_bit(ISCSI_SUSPEND_BIT, &conn->suspend_rx); conn 1386 drivers/scsi/libiscsi.c iscsi_conn_error_event(conn->cls_conn, err); conn 1390 drivers/scsi/libiscsi.c static int iscsi_check_cmdsn_window_closed(struct iscsi_conn *conn) conn 1392 drivers/scsi/libiscsi.c struct iscsi_session *session = conn->session; conn 1407 drivers/scsi/libiscsi.c static int iscsi_xmit_task(struct iscsi_conn *conn) conn 1409 drivers/scsi/libiscsi.c struct iscsi_task *task = conn->task; conn 1412 drivers/scsi/libiscsi.c if (test_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx)) conn 1415 drivers/scsi/libiscsi.c spin_lock_bh(&conn->session->back_lock); conn 1416 drivers/scsi/libiscsi.c if (conn->task == NULL) { conn 1417 drivers/scsi/libiscsi.c spin_unlock_bh(&conn->session->back_lock); conn 1421 drivers/scsi/libiscsi.c spin_unlock_bh(&conn->session->back_lock); conn 1422 drivers/scsi/libiscsi.c spin_unlock_bh(&conn->session->frwd_lock); conn 1423 drivers/scsi/libiscsi.c rc = conn->session->tt->xmit_task(task); conn 1424 drivers/scsi/libiscsi.c spin_lock_bh(&conn->session->frwd_lock); conn 1428 drivers/scsi/libiscsi.c conn->task = NULL; conn 1431 drivers/scsi/libiscsi.c spin_lock(&conn->session->back_lock); conn 1433 drivers/scsi/libiscsi.c spin_unlock(&conn->session->back_lock); conn 1447 drivers/scsi/libiscsi.c struct iscsi_conn *conn = task->conn; conn 1453 drivers/scsi/libiscsi.c spin_lock_bh(&conn->taskqueuelock); conn 1455 drivers/scsi/libiscsi.c list_add_tail(&task->running, &conn->requeue); conn 1456 drivers/scsi/libiscsi.c spin_unlock_bh(&conn->taskqueuelock); conn 1457 drivers/scsi/libiscsi.c iscsi_conn_queue_work(conn); conn 1470 drivers/scsi/libiscsi.c static int iscsi_data_xmit(struct iscsi_conn *conn) conn 1475 drivers/scsi/libiscsi.c spin_lock_bh(&conn->session->frwd_lock); conn 1476 drivers/scsi/libiscsi.c if (test_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx)) { conn 1477 drivers/scsi/libiscsi.c ISCSI_DBG_SESSION(conn->session, "Tx suspended!\n"); conn 1478 drivers/scsi/libiscsi.c spin_unlock_bh(&conn->session->frwd_lock); conn 1482 drivers/scsi/libiscsi.c if (conn->task) { conn 1483 drivers/scsi/libiscsi.c rc = iscsi_xmit_task(conn); conn 1493 drivers/scsi/libiscsi.c spin_lock_bh(&conn->taskqueuelock); conn 1495 drivers/scsi/libiscsi.c while (!list_empty(&conn->mgmtqueue)) { conn 1496 drivers/scsi/libiscsi.c conn->task = list_entry(conn->mgmtqueue.next, conn 1498 drivers/scsi/libiscsi.c list_del_init(&conn->task->running); conn 1499 drivers/scsi/libiscsi.c spin_unlock_bh(&conn->taskqueuelock); conn 1500 drivers/scsi/libiscsi.c if (iscsi_prep_mgmt_task(conn, conn->task)) { conn 1502 drivers/scsi/libiscsi.c spin_lock_bh(&conn->session->back_lock); conn 1503 drivers/scsi/libiscsi.c __iscsi_put_task(conn->task); conn 1504 drivers/scsi/libiscsi.c spin_unlock_bh(&conn->session->back_lock); conn 1505 drivers/scsi/libiscsi.c conn->task = NULL; conn 1506 drivers/scsi/libiscsi.c spin_lock_bh(&conn->taskqueuelock); conn 1509 drivers/scsi/libiscsi.c rc = iscsi_xmit_task(conn); conn 1512 drivers/scsi/libiscsi.c spin_lock_bh(&conn->taskqueuelock); conn 1516 drivers/scsi/libiscsi.c while (!list_empty(&conn->cmdqueue)) { conn 1517 drivers/scsi/libiscsi.c conn->task = list_entry(conn->cmdqueue.next, struct iscsi_task, conn 1519 drivers/scsi/libiscsi.c list_del_init(&conn->task->running); conn 1520 drivers/scsi/libiscsi.c spin_unlock_bh(&conn->taskqueuelock); conn 1521 drivers/scsi/libiscsi.c if (conn->session->state == ISCSI_STATE_LOGGING_OUT) { conn 1522 drivers/scsi/libiscsi.c fail_scsi_task(conn->task, DID_IMM_RETRY); conn 1523 drivers/scsi/libiscsi.c spin_lock_bh(&conn->taskqueuelock); conn 1526 drivers/scsi/libiscsi.c rc = iscsi_prep_scsi_cmd_pdu(conn->task); conn 1529 drivers/scsi/libiscsi.c spin_lock_bh(&conn->taskqueuelock); conn 1530 drivers/scsi/libiscsi.c list_add_tail(&conn->task->running, conn 1531 drivers/scsi/libiscsi.c &conn->cmdqueue); conn 1532 drivers/scsi/libiscsi.c conn->task = NULL; conn 1533 drivers/scsi/libiscsi.c spin_unlock_bh(&conn->taskqueuelock); conn 1536 drivers/scsi/libiscsi.c fail_scsi_task(conn->task, DID_ABORT); conn 1537 drivers/scsi/libiscsi.c spin_lock_bh(&conn->taskqueuelock); conn 1540 drivers/scsi/libiscsi.c rc = iscsi_xmit_task(conn); conn 1548 drivers/scsi/libiscsi.c spin_lock_bh(&conn->taskqueuelock); conn 1549 drivers/scsi/libiscsi.c if (!list_empty(&conn->mgmtqueue)) conn 1553 drivers/scsi/libiscsi.c while (!list_empty(&conn->requeue)) { conn 1557 drivers/scsi/libiscsi.c if (conn->session->state == ISCSI_STATE_LOGGING_OUT) conn 1560 drivers/scsi/libiscsi.c task = list_entry(conn->requeue.next, struct iscsi_task, conn 1565 drivers/scsi/libiscsi.c conn->task = task; conn 1566 drivers/scsi/libiscsi.c list_del_init(&conn->task->running); conn 1567 drivers/scsi/libiscsi.c conn->task->state = ISCSI_TASK_RUNNING; conn 1568 drivers/scsi/libiscsi.c spin_unlock_bh(&conn->taskqueuelock); conn 1569 drivers/scsi/libiscsi.c rc = iscsi_xmit_task(conn); conn 1572 drivers/scsi/libiscsi.c spin_lock_bh(&conn->taskqueuelock); conn 1573 drivers/scsi/libiscsi.c if (!list_empty(&conn->mgmtqueue)) conn 1576 drivers/scsi/libiscsi.c spin_unlock_bh(&conn->taskqueuelock); conn 1577 drivers/scsi/libiscsi.c spin_unlock_bh(&conn->session->frwd_lock); conn 1581 drivers/scsi/libiscsi.c spin_unlock_bh(&conn->session->frwd_lock); conn 1587 drivers/scsi/libiscsi.c struct iscsi_conn *conn = conn 1594 drivers/scsi/libiscsi.c rc = iscsi_data_xmit(conn); conn 1598 drivers/scsi/libiscsi.c static inline struct iscsi_task *iscsi_alloc_task(struct iscsi_conn *conn, conn 1603 drivers/scsi/libiscsi.c if (!kfifo_out(&conn->session->cmdpool.queue, conn 1607 drivers/scsi/libiscsi.c sc->SCp.phase = conn->session->age; conn 1612 drivers/scsi/libiscsi.c task->conn = conn; conn 1641 drivers/scsi/libiscsi.c struct iscsi_conn *conn; conn 1701 drivers/scsi/libiscsi.c conn = session->leadconn; conn 1702 drivers/scsi/libiscsi.c if (!conn) { conn 1708 drivers/scsi/libiscsi.c if (test_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx)) { conn 1714 drivers/scsi/libiscsi.c if (iscsi_check_cmdsn_window_closed(conn)) { conn 1719 drivers/scsi/libiscsi.c task = iscsi_alloc_task(conn, sc); conn 1742 drivers/scsi/libiscsi.c spin_lock_bh(&conn->taskqueuelock); conn 1743 drivers/scsi/libiscsi.c list_add_tail(&task->running, &conn->cmdqueue); conn 1744 drivers/scsi/libiscsi.c spin_unlock_bh(&conn->taskqueuelock); conn 1745 drivers/scsi/libiscsi.c iscsi_conn_queue_work(conn); conn 1788 drivers/scsi/libiscsi.c struct iscsi_conn *conn = from_timer(conn, t, tmf_timer); conn 1789 drivers/scsi/libiscsi.c struct iscsi_session *session = conn->session; conn 1792 drivers/scsi/libiscsi.c if (conn->tmf_state == TMF_QUEUED) { conn 1793 drivers/scsi/libiscsi.c conn->tmf_state = TMF_TIMEDOUT; conn 1796 drivers/scsi/libiscsi.c wake_up(&conn->ehwait); conn 1801 drivers/scsi/libiscsi.c static int iscsi_exec_task_mgmt_fn(struct iscsi_conn *conn, conn 1806 drivers/scsi/libiscsi.c struct iscsi_session *session = conn->session; conn 1809 drivers/scsi/libiscsi.c task = __iscsi_conn_send_pdu(conn, (struct iscsi_hdr *)hdr, conn 1813 drivers/scsi/libiscsi.c iscsi_conn_printk(KERN_ERR, conn, "Could not send TMF.\n"); conn 1814 drivers/scsi/libiscsi.c iscsi_conn_failure(conn, ISCSI_ERR_CONN_FAILED); conn 1818 drivers/scsi/libiscsi.c conn->tmfcmd_pdus_cnt++; conn 1819 drivers/scsi/libiscsi.c conn->tmf_timer.expires = timeout * HZ + jiffies; conn 1820 drivers/scsi/libiscsi.c add_timer(&conn->tmf_timer); conn 1834 drivers/scsi/libiscsi.c wait_event_interruptible(conn->ehwait, age != session->age || conn 1836 drivers/scsi/libiscsi.c conn->tmf_state != TMF_QUEUED); conn 1839 drivers/scsi/libiscsi.c del_timer_sync(&conn->tmf_timer); conn 1854 drivers/scsi/libiscsi.c static void fail_scsi_tasks(struct iscsi_conn *conn, u64 lun, int error) conn 1859 drivers/scsi/libiscsi.c for (i = 0; i < conn->session->cmds_max; i++) { conn 1860 drivers/scsi/libiscsi.c task = conn->session->cmds[i]; conn 1867 drivers/scsi/libiscsi.c ISCSI_DBG_SESSION(conn->session, conn 1885 drivers/scsi/libiscsi.c void iscsi_suspend_queue(struct iscsi_conn *conn) conn 1887 drivers/scsi/libiscsi.c spin_lock_bh(&conn->session->frwd_lock); conn 1888 drivers/scsi/libiscsi.c set_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx); conn 1889 drivers/scsi/libiscsi.c spin_unlock_bh(&conn->session->frwd_lock); conn 1901 drivers/scsi/libiscsi.c void iscsi_suspend_tx(struct iscsi_conn *conn) conn 1903 drivers/scsi/libiscsi.c struct Scsi_Host *shost = conn->session->host; conn 1906 drivers/scsi/libiscsi.c set_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx); conn 1912 drivers/scsi/libiscsi.c static void iscsi_start_tx(struct iscsi_conn *conn) conn 1914 drivers/scsi/libiscsi.c clear_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx); conn 1915 drivers/scsi/libiscsi.c iscsi_conn_queue_work(conn); conn 1924 drivers/scsi/libiscsi.c static int iscsi_has_ping_timed_out(struct iscsi_conn *conn) conn 1926 drivers/scsi/libiscsi.c if (conn->ping_task && conn 1927 drivers/scsi/libiscsi.c time_before_eq(conn->last_recv + (conn->recv_timeout * HZ) + conn 1928 drivers/scsi/libiscsi.c (conn->ping_timeout * HZ), jiffies)) conn 1940 drivers/scsi/libiscsi.c struct iscsi_conn *conn; conn 1981 drivers/scsi/libiscsi.c conn = session->leadconn; conn 1982 drivers/scsi/libiscsi.c if (!conn) { conn 2005 drivers/scsi/libiscsi.c if (!conn->recv_timeout && !conn->ping_timeout) conn 2011 drivers/scsi/libiscsi.c if (iscsi_has_ping_timed_out(conn)) { conn 2016 drivers/scsi/libiscsi.c for (i = 0; i < conn->session->cmds_max; i++) { conn 2017 drivers/scsi/libiscsi.c running_task = conn->session->cmds[i]; conn 2061 drivers/scsi/libiscsi.c if (conn->ping_task) { conn 2068 drivers/scsi/libiscsi.c iscsi_send_nopout(conn, NULL); conn 2084 drivers/scsi/libiscsi.c struct iscsi_conn *conn = from_timer(conn, t, transport_timer); conn 2085 drivers/scsi/libiscsi.c struct iscsi_session *session = conn->session; conn 2092 drivers/scsi/libiscsi.c recv_timeout = conn->recv_timeout; conn 2097 drivers/scsi/libiscsi.c last_recv = conn->last_recv; conn 2099 drivers/scsi/libiscsi.c if (iscsi_has_ping_timed_out(conn)) { conn 2100 drivers/scsi/libiscsi.c iscsi_conn_printk(KERN_ERR, conn, "ping timeout of %d secs " conn 2103 drivers/scsi/libiscsi.c conn->ping_timeout, conn->recv_timeout, conn 2104 drivers/scsi/libiscsi.c last_recv, conn->last_ping, jiffies); conn 2106 drivers/scsi/libiscsi.c iscsi_conn_failure(conn, ISCSI_ERR_NOP_TIMEDOUT); conn 2112 drivers/scsi/libiscsi.c ISCSI_DBG_CONN(conn, "Sending nopout as ping\n"); conn 2113 drivers/scsi/libiscsi.c if (iscsi_send_nopout(conn, NULL)) conn 2116 drivers/scsi/libiscsi.c next_timeout = conn->last_ping + (conn->ping_timeout * HZ); conn 2120 drivers/scsi/libiscsi.c ISCSI_DBG_CONN(conn, "Setting next tmo %lu\n", next_timeout); conn 2121 drivers/scsi/libiscsi.c mod_timer(&conn->transport_timer, next_timeout); conn 2142 drivers/scsi/libiscsi.c struct iscsi_conn *conn; conn 2179 drivers/scsi/libiscsi.c conn = session->leadconn; conn 2180 drivers/scsi/libiscsi.c conn->eh_abort_cnt++; conn 2199 drivers/scsi/libiscsi.c if (conn->tmf_state != TMF_INITIAL) conn 2201 drivers/scsi/libiscsi.c conn->tmf_state = TMF_QUEUED; conn 2203 drivers/scsi/libiscsi.c hdr = &conn->tmhdr; conn 2206 drivers/scsi/libiscsi.c if (iscsi_exec_task_mgmt_fn(conn, hdr, age, session->abort_timeout)) conn 2209 drivers/scsi/libiscsi.c switch (conn->tmf_state) { conn 2216 drivers/scsi/libiscsi.c iscsi_suspend_tx(conn); conn 2224 drivers/scsi/libiscsi.c conn->tmf_state = TMF_INITIAL; conn 2227 drivers/scsi/libiscsi.c iscsi_start_tx(conn); conn 2231 drivers/scsi/libiscsi.c iscsi_conn_failure(conn, ISCSI_ERR_SCSI_EH_SESSION_RST); conn 2235 drivers/scsi/libiscsi.c conn->tmf_state = TMF_INITIAL; conn 2244 drivers/scsi/libiscsi.c conn->tmf_state = TMF_INITIAL; conn 2280 drivers/scsi/libiscsi.c struct iscsi_conn *conn; conn 2298 drivers/scsi/libiscsi.c conn = session->leadconn; conn 2301 drivers/scsi/libiscsi.c if (conn->tmf_state != TMF_INITIAL) conn 2303 drivers/scsi/libiscsi.c conn->tmf_state = TMF_QUEUED; conn 2305 drivers/scsi/libiscsi.c hdr = &conn->tmhdr; conn 2308 drivers/scsi/libiscsi.c if (iscsi_exec_task_mgmt_fn(conn, hdr, session->age, conn 2314 drivers/scsi/libiscsi.c switch (conn->tmf_state) { conn 2319 drivers/scsi/libiscsi.c iscsi_conn_failure(conn, ISCSI_ERR_SCSI_EH_SESSION_RST); conn 2322 drivers/scsi/libiscsi.c conn->tmf_state = TMF_INITIAL; conn 2329 drivers/scsi/libiscsi.c iscsi_suspend_tx(conn); conn 2333 drivers/scsi/libiscsi.c fail_scsi_tasks(conn, sc->device->lun, DID_ERROR); conn 2334 drivers/scsi/libiscsi.c conn->tmf_state = TMF_INITIAL; conn 2337 drivers/scsi/libiscsi.c iscsi_start_tx(conn); conn 2375 drivers/scsi/libiscsi.c struct iscsi_conn *conn; conn 2379 drivers/scsi/libiscsi.c conn = session->leadconn; conn 2400 drivers/scsi/libiscsi.c iscsi_conn_failure(conn, ISCSI_ERR_SCSI_EH_SESSION_RST); conn 2403 drivers/scsi/libiscsi.c wait_event_interruptible(conn->ehwait, conn 2415 drivers/scsi/libiscsi.c session->targetname, conn->persistent_address); conn 2443 drivers/scsi/libiscsi.c struct iscsi_conn *conn; conn 2461 drivers/scsi/libiscsi.c conn = session->leadconn; conn 2464 drivers/scsi/libiscsi.c if (conn->tmf_state != TMF_INITIAL) conn 2466 drivers/scsi/libiscsi.c conn->tmf_state = TMF_QUEUED; conn 2468 drivers/scsi/libiscsi.c hdr = &conn->tmhdr; conn 2471 drivers/scsi/libiscsi.c if (iscsi_exec_task_mgmt_fn(conn, hdr, session->age, conn 2477 drivers/scsi/libiscsi.c switch (conn->tmf_state) { conn 2482 drivers/scsi/libiscsi.c iscsi_conn_failure(conn, ISCSI_ERR_SCSI_EH_SESSION_RST); conn 2485 drivers/scsi/libiscsi.c conn->tmf_state = TMF_INITIAL; conn 2492 drivers/scsi/libiscsi.c iscsi_suspend_tx(conn); conn 2496 drivers/scsi/libiscsi.c fail_scsi_tasks(conn, -1, DID_ERROR); conn 2497 drivers/scsi/libiscsi.c conn->tmf_state = TMF_INITIAL; conn 2500 drivers/scsi/libiscsi.c iscsi_start_tx(conn); conn 2889 drivers/scsi/libiscsi.c struct iscsi_conn *conn; conn 2893 drivers/scsi/libiscsi.c cls_conn = iscsi_create_conn(cls_session, sizeof(*conn) + dd_size, conn 2897 drivers/scsi/libiscsi.c conn = cls_conn->dd_data; conn 2898 drivers/scsi/libiscsi.c memset(conn, 0, sizeof(*conn) + dd_size); conn 2900 drivers/scsi/libiscsi.c conn->dd_data = cls_conn->dd_data + sizeof(*conn); conn 2901 drivers/scsi/libiscsi.c conn->session = session; conn 2902 drivers/scsi/libiscsi.c conn->cls_conn = cls_conn; conn 2903 drivers/scsi/libiscsi.c conn->c_stage = ISCSI_CONN_INITIAL_STAGE; conn 2904 drivers/scsi/libiscsi.c conn->id = conn_idx; conn 2905 drivers/scsi/libiscsi.c conn->exp_statsn = 0; conn 2906 drivers/scsi/libiscsi.c conn->tmf_state = TMF_INITIAL; conn 2908 drivers/scsi/libiscsi.c timer_setup(&conn->transport_timer, iscsi_check_transport_timeouts, 0); conn 2910 drivers/scsi/libiscsi.c INIT_LIST_HEAD(&conn->mgmtqueue); conn 2911 drivers/scsi/libiscsi.c INIT_LIST_HEAD(&conn->cmdqueue); conn 2912 drivers/scsi/libiscsi.c INIT_LIST_HEAD(&conn->requeue); conn 2913 drivers/scsi/libiscsi.c spin_lock_init(&conn->taskqueuelock); conn 2914 drivers/scsi/libiscsi.c INIT_WORK(&conn->xmitwork, iscsi_xmitworker); conn 2919 drivers/scsi/libiscsi.c (void*)&conn->login_task, conn 2930 drivers/scsi/libiscsi.c conn->login_task->data = conn->data = data; conn 2932 drivers/scsi/libiscsi.c timer_setup(&conn->tmf_timer, iscsi_tmf_timedout, 0); conn 2933 drivers/scsi/libiscsi.c init_waitqueue_head(&conn->ehwait); conn 2938 drivers/scsi/libiscsi.c kfifo_in(&session->cmdpool.queue, (void*)&conn->login_task, conn 2955 drivers/scsi/libiscsi.c struct iscsi_conn *conn = cls_conn->dd_data; conn 2956 drivers/scsi/libiscsi.c struct iscsi_session *session = conn->session; conn 2958 drivers/scsi/libiscsi.c del_timer_sync(&conn->transport_timer); conn 2962 drivers/scsi/libiscsi.c conn->c_stage = ISCSI_CONN_CLEANUP_WAIT; conn 2963 drivers/scsi/libiscsi.c if (session->leadconn == conn) { conn 2968 drivers/scsi/libiscsi.c wake_up(&conn->ehwait); conn 2973 drivers/scsi/libiscsi.c iscsi_suspend_tx(conn); conn 2976 drivers/scsi/libiscsi.c free_pages((unsigned long) conn->data, conn 2978 drivers/scsi/libiscsi.c kfree(conn->persistent_address); conn 2979 drivers/scsi/libiscsi.c kfree(conn->local_ipaddr); conn 2982 drivers/scsi/libiscsi.c kfifo_in(&session->cmdpool.queue, (void*)&conn->login_task, conn 2985 drivers/scsi/libiscsi.c if (session->leadconn == conn) conn 2996 drivers/scsi/libiscsi.c struct iscsi_conn *conn = cls_conn->dd_data; conn 2997 drivers/scsi/libiscsi.c struct iscsi_session *session = conn->session; conn 3000 drivers/scsi/libiscsi.c iscsi_conn_printk(KERN_ERR, conn, conn 3007 drivers/scsi/libiscsi.c iscsi_conn_printk(KERN_INFO, conn, "invalid burst lengths: " conn 3013 drivers/scsi/libiscsi.c if (conn->ping_timeout && !conn->recv_timeout) { conn 3014 drivers/scsi/libiscsi.c iscsi_conn_printk(KERN_ERR, conn, "invalid recv timeout of " conn 3016 drivers/scsi/libiscsi.c conn->recv_timeout = 5; conn 3019 drivers/scsi/libiscsi.c if (conn->recv_timeout && !conn->ping_timeout) { conn 3020 drivers/scsi/libiscsi.c iscsi_conn_printk(KERN_ERR, conn, "invalid ping timeout of " conn 3022 drivers/scsi/libiscsi.c conn->ping_timeout = 5; conn 3026 drivers/scsi/libiscsi.c conn->c_stage = ISCSI_CONN_STARTED; conn 3030 drivers/scsi/libiscsi.c conn->last_recv = jiffies; conn 3031 drivers/scsi/libiscsi.c conn->last_ping = jiffies; conn 3032 drivers/scsi/libiscsi.c if (conn->recv_timeout && conn->ping_timeout) conn 3033 drivers/scsi/libiscsi.c mod_timer(&conn->transport_timer, conn 3034 drivers/scsi/libiscsi.c jiffies + (conn->recv_timeout * HZ)); conn 3036 drivers/scsi/libiscsi.c switch(conn->stop_stage) { conn 3042 drivers/scsi/libiscsi.c conn->stop_stage = 0; conn 3043 drivers/scsi/libiscsi.c conn->tmf_state = TMF_INITIAL; conn 3049 drivers/scsi/libiscsi.c conn->stop_stage = 0; conn 3057 drivers/scsi/libiscsi.c wake_up(&conn->ehwait); conn 3063 drivers/scsi/libiscsi.c fail_mgmt_tasks(struct iscsi_session *session, struct iscsi_conn *conn) conn 3068 drivers/scsi/libiscsi.c for (i = 0; i < conn->session->cmds_max; i++) { conn 3069 drivers/scsi/libiscsi.c task = conn->session->cmds[i]; conn 3076 drivers/scsi/libiscsi.c ISCSI_DBG_SESSION(conn->session, conn 3089 drivers/scsi/libiscsi.c struct iscsi_conn *conn, int flag) conn 3095 drivers/scsi/libiscsi.c if (conn->stop_stage == STOP_CONN_TERM) { conn 3108 drivers/scsi/libiscsi.c else if (conn->stop_stage != STOP_CONN_RECOVER) conn 3111 drivers/scsi/libiscsi.c old_stop_stage = conn->stop_stage; conn 3112 drivers/scsi/libiscsi.c conn->stop_stage = flag; conn 3115 drivers/scsi/libiscsi.c del_timer_sync(&conn->transport_timer); conn 3116 drivers/scsi/libiscsi.c iscsi_suspend_tx(conn); conn 3119 drivers/scsi/libiscsi.c conn->c_stage = ISCSI_CONN_STOPPED; conn 3129 drivers/scsi/libiscsi.c conn->hdrdgst_en = 0; conn 3130 drivers/scsi/libiscsi.c conn->datadgst_en = 0; conn 3142 drivers/scsi/libiscsi.c fail_scsi_tasks(conn, -1, DID_TRANSPORT_DISRUPTED); conn 3143 drivers/scsi/libiscsi.c fail_mgmt_tasks(session, conn); conn 3144 drivers/scsi/libiscsi.c memset(&conn->tmhdr, 0, sizeof(conn->tmhdr)); conn 3151 drivers/scsi/libiscsi.c struct iscsi_conn *conn = cls_conn->dd_data; conn 3152 drivers/scsi/libiscsi.c struct iscsi_session *session = conn->session; conn 3157 drivers/scsi/libiscsi.c iscsi_start_session_recovery(session, conn, flag); conn 3160 drivers/scsi/libiscsi.c iscsi_conn_printk(KERN_ERR, conn, conn 3170 drivers/scsi/libiscsi.c struct iscsi_conn *conn = cls_conn->dd_data; conn 3174 drivers/scsi/libiscsi.c session->leadconn = conn; conn 3180 drivers/scsi/libiscsi.c clear_bit(ISCSI_SUSPEND_BIT, &conn->suspend_rx); conn 3181 drivers/scsi/libiscsi.c clear_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx); conn 3208 drivers/scsi/libiscsi.c struct iscsi_conn *conn = cls_conn->dd_data; conn 3209 drivers/scsi/libiscsi.c struct iscsi_session *session = conn->session; conn 3226 drivers/scsi/libiscsi.c sscanf(buf, "%d", &conn->ping_timeout); conn 3229 drivers/scsi/libiscsi.c sscanf(buf, "%d", &conn->recv_timeout); conn 3232 drivers/scsi/libiscsi.c sscanf(buf, "%d", &conn->max_recv_dlength); conn 3235 drivers/scsi/libiscsi.c sscanf(buf, "%d", &conn->max_xmit_dlength); conn 3238 drivers/scsi/libiscsi.c sscanf(buf, "%d", &conn->hdrdgst_en); conn 3241 drivers/scsi/libiscsi.c sscanf(buf, "%d", &conn->datadgst_en); conn 3268 drivers/scsi/libiscsi.c sscanf(buf, "%u", &conn->exp_statsn); conn 3286 drivers/scsi/libiscsi.c sscanf(buf, "%d", &conn->persistent_port); conn 3289 drivers/scsi/libiscsi.c return iscsi_switch_str_param(&conn->persistent_address, buf); conn 3310 drivers/scsi/libiscsi.c return iscsi_switch_str_param(&conn->local_ipaddr, buf); conn 3500 drivers/scsi/libiscsi.c struct iscsi_conn *conn = cls_conn->dd_data; conn 3505 drivers/scsi/libiscsi.c len = sprintf(buf, "%u\n", conn->ping_timeout); conn 3508 drivers/scsi/libiscsi.c len = sprintf(buf, "%u\n", conn->recv_timeout); conn 3511 drivers/scsi/libiscsi.c len = sprintf(buf, "%u\n", conn->max_recv_dlength); conn 3514 drivers/scsi/libiscsi.c len = sprintf(buf, "%u\n", conn->max_xmit_dlength); conn 3517 drivers/scsi/libiscsi.c len = sprintf(buf, "%d\n", conn->hdrdgst_en); conn 3520 drivers/scsi/libiscsi.c len = sprintf(buf, "%d\n", conn->datadgst_en); conn 3523 drivers/scsi/libiscsi.c len = sprintf(buf, "%d\n", conn->ifmarker_en); conn 3526 drivers/scsi/libiscsi.c len = sprintf(buf, "%d\n", conn->ofmarker_en); conn 3529 drivers/scsi/libiscsi.c len = sprintf(buf, "%u\n", conn->exp_statsn); conn 3532 drivers/scsi/libiscsi.c len = sprintf(buf, "%d\n", conn->persistent_port); conn 3535 drivers/scsi/libiscsi.c len = sprintf(buf, "%s\n", conn->persistent_address); conn 3538 drivers/scsi/libiscsi.c len = sprintf(buf, "%u\n", conn->statsn); conn 3541 drivers/scsi/libiscsi.c len = sprintf(buf, "%u\n", conn->max_segment_size); conn 3544 drivers/scsi/libiscsi.c len = sprintf(buf, "%u\n", conn->keepalive_tmo); conn 3547 drivers/scsi/libiscsi.c len = sprintf(buf, "%u\n", conn->local_port); conn 3550 drivers/scsi/libiscsi.c len = sprintf(buf, "%u\n", conn->tcp_timestamp_stat); conn 3553 drivers/scsi/libiscsi.c len = sprintf(buf, "%u\n", conn->tcp_nagle_disable); conn 3556 drivers/scsi/libiscsi.c len = sprintf(buf, "%u\n", conn->tcp_wsf_disable); conn 3559 drivers/scsi/libiscsi.c len = sprintf(buf, "%u\n", conn->tcp_timer_scale); conn 3562 drivers/scsi/libiscsi.c len = sprintf(buf, "%u\n", conn->tcp_timestamp_en); conn 3565 drivers/scsi/libiscsi.c len = sprintf(buf, "%u\n", conn->fragment_disable); conn 3568 drivers/scsi/libiscsi.c len = sprintf(buf, "%u\n", conn->ipv4_tos); conn 3571 drivers/scsi/libiscsi.c len = sprintf(buf, "%u\n", conn->ipv6_traffic_class); conn 3574 drivers/scsi/libiscsi.c len = sprintf(buf, "%u\n", conn->ipv6_flow_label); conn 3577 drivers/scsi/libiscsi.c len = sprintf(buf, "%u\n", conn->is_fw_assigned_ipv6); conn 3580 drivers/scsi/libiscsi.c len = sprintf(buf, "%u\n", conn->tcp_xmit_wsf); conn 3583 drivers/scsi/libiscsi.c len = sprintf(buf, "%u\n", conn->tcp_recv_wsf); conn 3586 drivers/scsi/libiscsi.c len = sprintf(buf, "%s\n", conn->local_ipaddr); conn 418 drivers/scsi/libiscsi_tcp.c struct iscsi_conn *conn = tcp_conn->iscsi_conn; conn 424 drivers/scsi/libiscsi_tcp.c rc = iscsi_complete_pdu(conn, tcp_conn->in.hdr, conn 425 drivers/scsi/libiscsi_tcp.c conn->data, tcp_conn->in.datalen); conn 436 drivers/scsi/libiscsi_tcp.c struct iscsi_conn *conn = tcp_conn->iscsi_conn; conn 439 drivers/scsi/libiscsi_tcp.c if (conn->datadgst_en && conn 440 drivers/scsi/libiscsi_tcp.c !(conn->session->tt->caps & CAP_DIGEST_OFFLOAD)) conn 444 drivers/scsi/libiscsi_tcp.c conn->data, tcp_conn->in.datalen, conn 468 drivers/scsi/libiscsi_tcp.c ISCSI_DBG_TCP(task->conn, "pending r2t dropped\n"); conn 486 drivers/scsi/libiscsi_tcp.c static int iscsi_tcp_data_in(struct iscsi_conn *conn, struct iscsi_task *task) conn 488 drivers/scsi/libiscsi_tcp.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 499 drivers/scsi/libiscsi_tcp.c iscsi_update_cmdsn(conn->session, (struct iscsi_nopin*)rhdr); conn 505 drivers/scsi/libiscsi_tcp.c ISCSI_DBG_TCP(conn, "task->exp_datasn(%d) != rhdr->datasn(%d)" conn 514 drivers/scsi/libiscsi_tcp.c ISCSI_DBG_TCP(conn, "data_offset(%d) + data_len(%d) > " conn 520 drivers/scsi/libiscsi_tcp.c conn->datain_pdus_cnt++; conn 529 drivers/scsi/libiscsi_tcp.c static int iscsi_tcp_r2t_rsp(struct iscsi_conn *conn, struct iscsi_task *task) conn 531 drivers/scsi/libiscsi_tcp.c struct iscsi_session *session = conn->session; conn 533 drivers/scsi/libiscsi_tcp.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 542 drivers/scsi/libiscsi_tcp.c iscsi_conn_printk(KERN_ERR, conn, conn 549 drivers/scsi/libiscsi_tcp.c ISCSI_DBG_TCP(conn, "task->exp_datasn(%d) != rhdr->r2tsn(%d)\n", conn 558 drivers/scsi/libiscsi_tcp.c iscsi_conn_printk(KERN_INFO, conn, conn 566 drivers/scsi/libiscsi_tcp.c iscsi_conn_printk(KERN_ERR, conn, conn 572 drivers/scsi/libiscsi_tcp.c ISCSI_DBG_TCP(conn, "invalid R2T with data len %u and max " conn 578 drivers/scsi/libiscsi_tcp.c iscsi_conn_printk(KERN_ERR, conn, conn 588 drivers/scsi/libiscsi_tcp.c iscsi_conn_printk(KERN_ERR, conn, "Could not allocate R2T. " conn 605 drivers/scsi/libiscsi_tcp.c conn->r2t_pdus_cnt++; conn 619 drivers/scsi/libiscsi_tcp.c struct iscsi_conn *conn = tcp_conn->iscsi_conn; conn 628 drivers/scsi/libiscsi_tcp.c rc = iscsi_complete_pdu(conn, tcp_conn->in.hdr, NULL, 0); conn 648 drivers/scsi/libiscsi_tcp.c iscsi_tcp_hdr_dissect(struct iscsi_conn *conn, struct iscsi_hdr *hdr) conn 651 drivers/scsi/libiscsi_tcp.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 656 drivers/scsi/libiscsi_tcp.c if (tcp_conn->in.datalen > conn->max_recv_dlength) { conn 657 drivers/scsi/libiscsi_tcp.c iscsi_conn_printk(KERN_ERR, conn, conn 659 drivers/scsi/libiscsi_tcp.c tcp_conn->in.datalen, conn->max_recv_dlength); conn 670 drivers/scsi/libiscsi_tcp.c rc = iscsi_verify_itt(conn, hdr->itt); conn 674 drivers/scsi/libiscsi_tcp.c ISCSI_DBG_TCP(conn, "opcode 0x%x ahslen %d datalen %d\n", conn 679 drivers/scsi/libiscsi_tcp.c spin_lock(&conn->session->back_lock); conn 680 drivers/scsi/libiscsi_tcp.c task = iscsi_itt_to_ctask(conn, hdr->itt); conn 684 drivers/scsi/libiscsi_tcp.c rc = iscsi_tcp_data_in(conn, task); conn 686 drivers/scsi/libiscsi_tcp.c spin_unlock(&conn->session->back_lock); conn 703 drivers/scsi/libiscsi_tcp.c if (conn->datadgst_en && conn 704 drivers/scsi/libiscsi_tcp.c !(conn->session->tt->caps & CAP_DIGEST_OFFLOAD)) conn 707 drivers/scsi/libiscsi_tcp.c ISCSI_DBG_TCP(conn, "iscsi_tcp_begin_data_in( " conn 719 drivers/scsi/libiscsi_tcp.c spin_unlock(&conn->session->back_lock); conn 722 drivers/scsi/libiscsi_tcp.c rc = __iscsi_complete_pdu(conn, hdr, NULL, 0); conn 723 drivers/scsi/libiscsi_tcp.c spin_unlock(&conn->session->back_lock); conn 730 drivers/scsi/libiscsi_tcp.c rc = iscsi_complete_pdu(conn, hdr, NULL, 0); conn 733 drivers/scsi/libiscsi_tcp.c spin_lock(&conn->session->back_lock); conn 734 drivers/scsi/libiscsi_tcp.c task = iscsi_itt_to_ctask(conn, hdr->itt); conn 735 drivers/scsi/libiscsi_tcp.c spin_unlock(&conn->session->back_lock); conn 742 drivers/scsi/libiscsi_tcp.c spin_lock(&conn->session->frwd_lock); conn 743 drivers/scsi/libiscsi_tcp.c rc = iscsi_tcp_r2t_rsp(conn, task); conn 744 drivers/scsi/libiscsi_tcp.c spin_unlock(&conn->session->frwd_lock); conn 758 drivers/scsi/libiscsi_tcp.c iscsi_conn_printk(KERN_ERR, conn, conn 779 drivers/scsi/libiscsi_tcp.c rc = iscsi_complete_pdu(conn, hdr, NULL, 0); conn 810 drivers/scsi/libiscsi_tcp.c struct iscsi_conn *conn = tcp_conn->iscsi_conn; conn 836 drivers/scsi/libiscsi_tcp.c if (conn->hdrdgst_en && conn 837 drivers/scsi/libiscsi_tcp.c !(conn->session->tt->caps & CAP_DIGEST_OFFLOAD)) { conn 858 drivers/scsi/libiscsi_tcp.c return iscsi_tcp_hdr_dissect(conn, hdr); conn 885 drivers/scsi/libiscsi_tcp.c int iscsi_tcp_recv_skb(struct iscsi_conn *conn, struct sk_buff *skb, conn 888 drivers/scsi/libiscsi_tcp.c struct iscsi_tcp_conn *tcp_conn = conn->dd_data; conn 894 drivers/scsi/libiscsi_tcp.c ISCSI_DBG_TCP(conn, "in %d bytes\n", skb->len - offset); conn 900 drivers/scsi/libiscsi_tcp.c conn->last_recv = jiffies; conn 902 drivers/scsi/libiscsi_tcp.c if (unlikely(conn->suspend_rx)) { conn 903 drivers/scsi/libiscsi_tcp.c ISCSI_DBG_TCP(conn, "Rx suspended!\n"); conn 920 drivers/scsi/libiscsi_tcp.c ISCSI_DBG_TCP(conn, "no more data avail. Consumed %d\n", conn 927 drivers/scsi/libiscsi_tcp.c ISCSI_DBG_TCP(conn, "skb %p ptr=%p avail=%u\n", skb, ptr, conn 941 drivers/scsi/libiscsi_tcp.c ISCSI_DBG_TCP(conn, "segment done\n"); conn 945 drivers/scsi/libiscsi_tcp.c ISCSI_DBG_TCP(conn, "Error receiving PDU, errno=%d\n", rc); conn 946 drivers/scsi/libiscsi_tcp.c iscsi_conn_failure(conn, rc); conn 952 drivers/scsi/libiscsi_tcp.c conn->rxdata_octets += consumed; conn 964 drivers/scsi/libiscsi_tcp.c struct iscsi_conn *conn = task->conn; conn 973 drivers/scsi/libiscsi_tcp.c ISCSI_DBG_TCP(conn, "mtask deq [itt 0x%x]\n", task->itt); conn 975 drivers/scsi/libiscsi_tcp.c return conn->session->tt->init_pdu(task, 0, task->data_count); conn 982 drivers/scsi/libiscsi_tcp.c ISCSI_DBG_TCP(conn, "task deq [itt 0x%x imm %d unsol %d]\n", conn 985 drivers/scsi/libiscsi_tcp.c err = conn->session->tt->init_pdu(task, 0, task->imm_count); conn 1006 drivers/scsi/libiscsi_tcp.c ISCSI_DBG_TCP(task->conn, conn 1039 drivers/scsi/libiscsi_tcp.c struct iscsi_conn *conn = task->conn; conn 1040 drivers/scsi/libiscsi_tcp.c struct iscsi_session *session = conn->session; conn 1064 drivers/scsi/libiscsi_tcp.c ISCSI_DBG_TCP(conn, "no R2Ts yet\n"); conn 1068 drivers/scsi/libiscsi_tcp.c rc = conn->session->tt->alloc_pdu(task, ISCSI_OP_SCSI_DATA_OUT); conn 1073 drivers/scsi/libiscsi_tcp.c ISCSI_DBG_TCP(conn, "sol dout %p [dsn %d itt 0x%x doff %d dlen %d]\n", conn 1077 drivers/scsi/libiscsi_tcp.c rc = conn->session->tt->init_pdu(task, r2t->data_offset + r2t->sent, conn 1080 drivers/scsi/libiscsi_tcp.c iscsi_conn_failure(conn, ISCSI_ERR_XMIT_FAILED); conn 1094 drivers/scsi/libiscsi_tcp.c struct iscsi_conn *conn; conn 1102 drivers/scsi/libiscsi_tcp.c conn = cls_conn->dd_data; conn 1107 drivers/scsi/libiscsi_tcp.c conn->max_recv_dlength = ISCSI_DEF_MAX_RECV_SEG_LEN; conn 1109 drivers/scsi/libiscsi_tcp.c tcp_conn = conn->dd_data; conn 1110 drivers/scsi/libiscsi_tcp.c tcp_conn->iscsi_conn = conn; conn 1111 drivers/scsi/libiscsi_tcp.c tcp_conn->dd_data = conn->dd_data + sizeof(*tcp_conn); conn 1185 drivers/scsi/libiscsi_tcp.c int iscsi_tcp_set_max_r2t(struct iscsi_conn *conn, char *buf) conn 1187 drivers/scsi/libiscsi_tcp.c struct iscsi_session *session = conn->session; conn 1206 drivers/scsi/libiscsi_tcp.c struct iscsi_conn *conn = cls_conn->dd_data; conn 1208 drivers/scsi/libiscsi_tcp.c stats->txdata_octets = conn->txdata_octets; conn 1209 drivers/scsi/libiscsi_tcp.c stats->rxdata_octets = conn->rxdata_octets; conn 1210 drivers/scsi/libiscsi_tcp.c stats->scsicmd_pdus = conn->scsicmd_pdus_cnt; conn 1211 drivers/scsi/libiscsi_tcp.c stats->dataout_pdus = conn->dataout_pdus_cnt; conn 1212 drivers/scsi/libiscsi_tcp.c stats->scsirsp_pdus = conn->scsirsp_pdus_cnt; conn 1213 drivers/scsi/libiscsi_tcp.c stats->datain_pdus = conn->datain_pdus_cnt; conn 1214 drivers/scsi/libiscsi_tcp.c stats->r2t_pdus = conn->r2t_pdus_cnt; conn 1215 drivers/scsi/libiscsi_tcp.c stats->tmfcmd_pdus = conn->tmfcmd_pdus_cnt; conn 1216 drivers/scsi/libiscsi_tcp.c stats->tmfrsp_pdus = conn->tmfrsp_pdus_cnt; conn 35 drivers/scsi/qedi/qedi_fw.c struct iscsi_conn *conn = qedi_conn->cls_conn->dd_data; conn 37 drivers/scsi/qedi/qedi_fw.c struct iscsi_session *session = conn->session; conn 50 drivers/scsi/qedi/qedi_fw.c resp_hdr->itt = build_itt(cqe->cqe_solicited.itid, conn->session->age); conn 75 drivers/scsi/qedi/qedi_fw.c __iscsi_complete_pdu(conn, (struct iscsi_hdr *)resp_hdr, NULL, 0); conn 85 drivers/scsi/qedi/qedi_fw.c struct iscsi_conn *conn = qedi_conn->cls_conn->dd_data; conn 86 drivers/scsi/qedi/qedi_fw.c struct iscsi_session *session = conn->session; conn 109 drivers/scsi/qedi/qedi_fw.c conn->session->age); conn 139 drivers/scsi/qedi/qedi_fw.c __iscsi_complete_pdu(conn, (struct iscsi_hdr *)resp_hdr_ptr, conn 150 drivers/scsi/qedi/qedi_fw.c struct qedi_conn *qedi_conn = qedi_cmd->conn; conn 152 drivers/scsi/qedi/qedi_fw.c struct iscsi_conn *conn = qedi_conn->cls_conn->dd_data; conn 153 drivers/scsi/qedi/qedi_fw.c struct iscsi_session *session = conn->session; conn 172 drivers/scsi/qedi/qedi_fw.c __iscsi_complete_pdu(conn, (struct iscsi_hdr *)resp_hdr_ptr, NULL, 0); conn 186 drivers/scsi/qedi/qedi_fw.c struct iscsi_conn *conn = qedi_conn->cls_conn->dd_data; conn 187 drivers/scsi/qedi/qedi_fw.c struct iscsi_session *session = conn->session; conn 218 drivers/scsi/qedi/qedi_fw.c conn->session->age); conn 244 drivers/scsi/qedi/qedi_fw.c __iscsi_complete_pdu(conn, (struct iscsi_hdr *)resp_hdr_ptr, NULL, 0); conn 256 drivers/scsi/qedi/qedi_fw.c struct iscsi_conn *conn = qedi_conn->cls_conn->dd_data; conn 257 drivers/scsi/qedi/qedi_fw.c struct iscsi_session *session = conn->session; conn 280 drivers/scsi/qedi/qedi_fw.c conn->session->age); conn 299 drivers/scsi/qedi/qedi_fw.c __iscsi_complete_pdu(conn, (struct iscsi_hdr *)resp_hdr_ptr, conn 407 drivers/scsi/qedi/qedi_fw.c struct iscsi_conn *conn = qedi_conn->cls_conn->dd_data; conn 408 drivers/scsi/qedi/qedi_fw.c struct iscsi_session *session = conn->session; conn 448 drivers/scsi/qedi/qedi_fw.c conn->session->age); conn 468 drivers/scsi/qedi/qedi_fw.c __iscsi_complete_pdu(conn, (struct iscsi_hdr *)hdr, bdq_data, pdu_len); conn 480 drivers/scsi/qedi/qedi_fw.c struct iscsi_conn *conn = qedi_conn->cls_conn->dd_data; conn 481 drivers/scsi/qedi/qedi_fw.c struct iscsi_session *session = conn->session; conn 522 drivers/scsi/qedi/qedi_fw.c __iscsi_complete_pdu(conn, (struct iscsi_hdr *)resp_hdr, bdq_data, conn 534 drivers/scsi/qedi/qedi_fw.c struct iscsi_conn *conn = qedi_conn->cls_conn->dd_data; conn 535 drivers/scsi/qedi/qedi_fw.c struct iscsi_session *session = conn->session; conn 550 drivers/scsi/qedi/qedi_fw.c pld_len, num_bdqs, conn->data); conn 565 drivers/scsi/qedi/qedi_fw.c __iscsi_complete_pdu(conn, (struct iscsi_hdr *)hdr, conn 566 drivers/scsi/qedi/qedi_fw.c conn->data, pld_len); conn 573 drivers/scsi/qedi/qedi_fw.c struct iscsi_conn *conn) conn 577 drivers/scsi/qedi/qedi_fw.c struct iscsi_session *session = conn->session; conn 627 drivers/scsi/qedi/qedi_fw.c hdr->itt = build_itt(cqe->cqe_solicited.itid, conn->session->age); conn 636 drivers/scsi/qedi/qedi_fw.c memcpy((char *)conn->data, (char *)cmd->sense_buffer, datalen); conn 670 drivers/scsi/qedi/qedi_fw.c __iscsi_complete_pdu(conn, (struct iscsi_hdr *)hdr, conn 671 drivers/scsi/qedi/qedi_fw.c conn->data, datalen); conn 679 drivers/scsi/qedi/qedi_fw.c struct qedi_conn *conn, uint16_t que_idx) conn 685 drivers/scsi/qedi/qedi_fw.c iscsi_conn = conn->cls_conn->dd_data; conn 693 drivers/scsi/qedi/qedi_fw.c qedi_process_login_resp(qedi, cqe, task, conn); conn 696 drivers/scsi/qedi/qedi_fw.c qedi_process_tmf_resp(qedi, cqe, task, conn); conn 699 drivers/scsi/qedi/qedi_fw.c qedi_process_text_resp(qedi, cqe, task, conn); conn 702 drivers/scsi/qedi/qedi_fw.c qedi_process_logout_resp(qedi, cqe, task, conn); conn 705 drivers/scsi/qedi/qedi_fw.c qedi_process_nopin_mesg(qedi, cqe, task, conn, que_idx); conn 717 drivers/scsi/qedi/qedi_fw.c struct iscsi_conn *conn = qedi_conn->cls_conn->dd_data; conn 718 drivers/scsi/qedi/qedi_fw.c struct iscsi_session *session = conn->session; conn 736 drivers/scsi/qedi/qedi_fw.c struct iscsi_conn *conn) conn 791 drivers/scsi/qedi/qedi_fw.c spin_lock_bh(&conn->session->back_lock); conn 794 drivers/scsi/qedi/qedi_fw.c conn->session->age); conn 795 drivers/scsi/qedi/qedi_fw.c task = iscsi_itt_to_task(conn, protoitt); conn 797 drivers/scsi/qedi/qedi_fw.c spin_unlock_bh(&conn->session->back_lock); conn 827 drivers/scsi/qedi/qedi_fw.c spin_lock_bh(&conn->session->back_lock); conn 829 drivers/scsi/qedi/qedi_fw.c protoitt = build_itt(ptmp_itt, conn->session->age); conn 830 drivers/scsi/qedi/qedi_fw.c task = iscsi_itt_to_task(conn, protoitt); conn 836 drivers/scsi/qedi/qedi_fw.c spin_unlock_bh(&conn->session->back_lock); conn 853 drivers/scsi/qedi/qedi_fw.c protoitt = build_itt(ptmp_itt, conn->session->age); conn 854 drivers/scsi/qedi/qedi_fw.c task = iscsi_itt_to_task(conn, protoitt); conn 868 drivers/scsi/qedi/qedi_fw.c struct iscsi_conn *conn; conn 899 drivers/scsi/qedi/qedi_fw.c conn = q_conn->cls_conn->dd_data; conn 904 drivers/scsi/qedi/qedi_fw.c iscsi_conn_failure(conn, ISCSI_ERR_DATA_DGST); conn 953 drivers/scsi/qedi/qedi_fw.c conn); conn 1191 drivers/scsi/qedi/qedi_fw.c struct iscsi_conn *conn = qedi_conn->cls_conn->dd_data; conn 1192 drivers/scsi/qedi/qedi_fw.c struct iscsi_session *session = conn->session; conn 1361 drivers/scsi/qedi/qedi_fw.c struct qedi_conn *qedi_conn = qedi_cmd->conn; conn 1363 drivers/scsi/qedi/qedi_fw.c struct iscsi_conn *conn = qedi_conn->cls_conn->dd_data; conn 1376 drivers/scsi/qedi/qedi_fw.c ctask = iscsi_itt_to_task(conn, tmf_hdr->rtt); conn 1464 drivers/scsi/qedi/qedi_fw.c struct iscsi_conn *conn = qedi_conn->cls_conn->dd_data; conn 1506 drivers/scsi/qedi/qedi_fw.c ctask = iscsi_itt_to_task(conn, tmf_hdr->rtt); conn 1827 drivers/scsi/qedi/qedi_fw.c QEDI_INFO(&cmd->conn->qedi->dbg_ctx, QEDI_LOG_IO, conn 1939 drivers/scsi/qedi/qedi_fw.c bd_count = qedi_map_scsi_sg(cmd->conn->qedi, cmd); conn 1977 drivers/scsi/qedi/qedi_fw.c struct iscsi_conn *conn = task->conn; conn 1978 drivers/scsi/qedi/qedi_fw.c struct qedi_conn *qedi_conn = conn->dd_data; conn 2030 drivers/scsi/qedi/qedi_fw.c struct iscsi_conn *conn = task->conn; conn 2031 drivers/scsi/qedi/qedi_fw.c struct iscsi_session *session = conn->session; conn 2034 drivers/scsi/qedi/qedi_fw.c struct qedi_conn *qedi_conn = conn->dd_data; conn 2058 drivers/scsi/qedi/qedi_fw.c conn = cls_conn->dd_data; conn 2130 drivers/scsi/qedi/qedi_fw.c conn_params.first_burst_length = conn->session->first_burst; conn 2131 drivers/scsi/qedi/qedi_fw.c conn_params.max_send_pdu_length = conn->max_xmit_dlength; conn 2132 drivers/scsi/qedi/qedi_fw.c conn_params.max_burst_length = conn->session->max_burst; conn 2133 drivers/scsi/qedi/qedi_fw.c if (conn->session->initial_r2t_en) conn 2135 drivers/scsi/qedi/qedi_fw.c if (conn->session->imm_data_en) conn 2192 drivers/scsi/qedi/qedi_fw.c struct iscsi_conn *conn = task->conn; conn 2193 drivers/scsi/qedi/qedi_fw.c struct qedi_conn *qedi_conn = conn->dd_data; conn 297 drivers/scsi/qedi/qedi_iscsi.c struct iscsi_conn *conn; conn 308 drivers/scsi/qedi/qedi_iscsi.c conn = cls_conn->dd_data; conn 309 drivers/scsi/qedi/qedi_iscsi.c qedi_conn = conn->dd_data; conn 318 drivers/scsi/qedi/qedi_iscsi.c iscsi_conn_printk(KERN_ALERT, conn, conn 374 drivers/scsi/qedi/qedi_iscsi.c struct iscsi_conn *conn = cls_conn->dd_data; conn 375 drivers/scsi/qedi/qedi_iscsi.c struct qedi_conn *qedi_conn = conn->dd_data; conn 393 drivers/scsi/qedi/qedi_iscsi.c qedi_ep->conn = qedi_conn; conn 414 drivers/scsi/qedi/qedi_iscsi.c struct iscsi_conn *conn = cls_conn->dd_data; conn 428 drivers/scsi/qedi/qedi_iscsi.c if (conn->hdrdgst_en) conn 431 drivers/scsi/qedi/qedi_iscsi.c if (conn->datadgst_en) conn 434 drivers/scsi/qedi/qedi_iscsi.c if (conn->session->initial_r2t_en) conn 438 drivers/scsi/qedi/qedi_iscsi.c if (conn->session->imm_data_en) conn 443 drivers/scsi/qedi/qedi_iscsi.c conn_info->max_seq_size = conn->session->max_burst; conn 444 drivers/scsi/qedi/qedi_iscsi.c conn_info->max_recv_pdu_length = conn->max_recv_dlength; conn 445 drivers/scsi/qedi/qedi_iscsi.c conn_info->max_send_pdu_length = conn->max_xmit_dlength; conn 446 drivers/scsi/qedi/qedi_iscsi.c conn_info->first_seq_length = conn->session->first_burst; conn 447 drivers/scsi/qedi/qedi_iscsi.c conn_info->exp_stat_sn = conn->exp_statsn; conn 569 drivers/scsi/qedi/qedi_iscsi.c struct iscsi_conn *conn = cls_conn->dd_data; conn 570 drivers/scsi/qedi/qedi_iscsi.c struct qedi_conn *qedi_conn = conn->dd_data; conn 578 drivers/scsi/qedi/qedi_iscsi.c iscsi_conn_printk(KERN_ALERT, conn, conn 589 drivers/scsi/qedi/qedi_iscsi.c iscsi_conn_printk(KERN_ALERT, conn, conn 599 drivers/scsi/qedi/qedi_iscsi.c struct iscsi_conn *conn = cls_conn->dd_data; conn 600 drivers/scsi/qedi/qedi_iscsi.c struct qedi_conn *qedi_conn = conn->dd_data; conn 668 drivers/scsi/qedi/qedi_iscsi.c struct iscsi_conn *conn = cls_conn->dd_data; conn 677 drivers/scsi/qedi/qedi_iscsi.c conn->txdata_octets = iscsi_stats.iscsi_tx_bytes_cnt; conn 678 drivers/scsi/qedi/qedi_iscsi.c conn->rxdata_octets = iscsi_stats.iscsi_rx_bytes_cnt; conn 679 drivers/scsi/qedi/qedi_iscsi.c conn->dataout_pdus_cnt = (uint32_t)iscsi_stats.iscsi_tx_data_pdu_cnt; conn 680 drivers/scsi/qedi/qedi_iscsi.c conn->datain_pdus_cnt = (uint32_t)iscsi_stats.iscsi_rx_data_pdu_cnt; conn 681 drivers/scsi/qedi/qedi_iscsi.c conn->r2t_pdus_cnt = (uint32_t)iscsi_stats.iscsi_rx_r2t_pdu_cnt; conn 683 drivers/scsi/qedi/qedi_iscsi.c stats->txdata_octets = conn->txdata_octets; conn 684 drivers/scsi/qedi/qedi_iscsi.c stats->rxdata_octets = conn->rxdata_octets; conn 685 drivers/scsi/qedi/qedi_iscsi.c stats->scsicmd_pdus = conn->scsicmd_pdus_cnt; conn 686 drivers/scsi/qedi/qedi_iscsi.c stats->dataout_pdus = conn->dataout_pdus_cnt; conn 687 drivers/scsi/qedi/qedi_iscsi.c stats->scsirsp_pdus = conn->scsirsp_pdus_cnt; conn 688 drivers/scsi/qedi/qedi_iscsi.c stats->datain_pdus = conn->datain_pdus_cnt; conn 689 drivers/scsi/qedi/qedi_iscsi.c stats->r2t_pdus = conn->r2t_pdus_cnt; conn 690 drivers/scsi/qedi/qedi_iscsi.c stats->tmfcmd_pdus = conn->tmfcmd_pdus_cnt; conn 691 drivers/scsi/qedi/qedi_iscsi.c stats->tmfrsp_pdus = conn->tmfrsp_pdus_cnt; conn 695 drivers/scsi/qedi/qedi_iscsi.c stats->custom[0].value = conn->eh_abort_cnt; conn 720 drivers/scsi/qedi/qedi_iscsi.c struct qedi_conn *qedi_conn = cmd->conn; conn 757 drivers/scsi/qedi/qedi_iscsi.c static int qedi_mtask_xmit(struct iscsi_conn *conn, struct iscsi_task *task) conn 759 drivers/scsi/qedi/qedi_iscsi.c struct qedi_conn *qedi_conn = conn->dd_data; conn 773 drivers/scsi/qedi/qedi_iscsi.c cmd->conn = conn->dd_data; conn 780 drivers/scsi/qedi/qedi_iscsi.c struct iscsi_conn *conn = task->conn; conn 781 drivers/scsi/qedi/qedi_iscsi.c struct qedi_conn *qedi_conn = conn->dd_data; conn 788 drivers/scsi/qedi/qedi_iscsi.c cmd->conn = qedi_conn; conn 794 drivers/scsi/qedi/qedi_iscsi.c return qedi_mtask_xmit(conn, task); conn 986 drivers/scsi/qedi/qedi_iscsi.c struct iscsi_conn *conn = NULL; conn 1002 drivers/scsi/qedi/qedi_iscsi.c if (qedi_ep->conn) { conn 1003 drivers/scsi/qedi/qedi_iscsi.c qedi_conn = qedi_ep->conn; conn 1004 drivers/scsi/qedi/qedi_iscsi.c conn = qedi_conn->cls_conn->dd_data; conn 1005 drivers/scsi/qedi/qedi_iscsi.c iscsi_suspend_queue(conn); conn 1049 drivers/scsi/qedi/qedi_iscsi.c qedi_ep->conn conn 1098 drivers/scsi/qedi/qedi_iscsi.c qedi_ep->conn = NULL; conn 1411 drivers/scsi/qedi/qedi_iscsi.c struct iscsi_conn *conn; conn 1414 drivers/scsi/qedi/qedi_iscsi.c conn = cls_conn->dd_data; conn 1421 drivers/scsi/qedi/qedi_iscsi.c conn->session->state, qedi_conn->iscsi_conn_id); conn 1568 drivers/scsi/qedi/qedi_iscsi.c qedi_conn = ep->conn; conn 1607 drivers/scsi/qedi/qedi_iscsi.c qedi_conn = ep->conn; conn 96 drivers/scsi/qedi/qedi_iscsi.h struct qedi_conn *conn; conn 179 drivers/scsi/qedi/qedi_iscsi.h struct qedi_conn *conn; conn 946 drivers/scsi/qedi/qedi_main.c struct iscsi_conn *conn; conn 983 drivers/scsi/qedi/qedi_main.c conn = cls_conn->dd_data; conn 1011 drivers/scsi/qedi/qedi_main.c if (conn->hdrdgst_en) { conn 1016 drivers/scsi/qedi/qedi_main.c if (conn->datadgst_en) { conn 1143 drivers/scsi/qedi/qedi_main.c struct iscsi_conn *conn; conn 1156 drivers/scsi/qedi/qedi_main.c conn = q_conn->cls_conn->dd_data; conn 289 drivers/scsi/qla4xxx/ql4_def.h struct iscsi_cls_conn *conn; conn 1025 drivers/scsi/qla4xxx/ql4_init.c iscsi_conn_login_event(ddb_entry->conn, conn 387 drivers/scsi/qla4xxx/ql4_iocb.c struct iscsi_session *sess = task->conn->session; conn 371 drivers/scsi/qla4xxx/ql4_isr.c struct iscsi_conn *conn; conn 386 drivers/scsi/qla4xxx/ql4_isr.c cls_conn = ddb_entry->conn; conn 387 drivers/scsi/qla4xxx/ql4_isr.c conn = cls_conn->dd_data; conn 388 drivers/scsi/qla4xxx/ql4_isr.c spin_lock(&conn->session->back_lock); conn 389 drivers/scsi/qla4xxx/ql4_isr.c task = iscsi_itt_to_task(conn, itt); conn 390 drivers/scsi/qla4xxx/ql4_isr.c spin_unlock(&conn->session->back_lock); conn 1986 drivers/scsi/qla4xxx/ql4_mbx.c struct iscsi_conn *conn; conn 2010 drivers/scsi/qla4xxx/ql4_mbx.c conn = cls_conn->dd_data; conn 2011 drivers/scsi/qla4xxx/ql4_mbx.c qla_conn = conn->dd_data; conn 2012 drivers/scsi/qla4xxx/ql4_mbx.c sess = conn->session; conn 2108 drivers/scsi/qla4xxx/ql4_mbx.c if (conn->max_recv_dlength) conn 2110 drivers/scsi/qla4xxx/ql4_mbx.c __constant_cpu_to_le16((conn->max_recv_dlength / BYTE_UNITS)); conn 111 drivers/scsi/qla4xxx/ql4_os.c static int qla4xxx_conn_get_param(struct iscsi_cls_conn *conn, conn 128 drivers/scsi/qla4xxx/ql4_os.c static int qla4xxx_conn_start(struct iscsi_cls_conn *conn); conn 134 drivers/scsi/qla4xxx/ql4_os.c static void qla4xxx_conn_destroy(struct iscsi_cls_conn *conn); conn 2822 drivers/scsi/qla4xxx/ql4_os.c struct iscsi_cls_conn *cls_conn = ddb_entry->conn; conn 2889 drivers/scsi/qla4xxx/ql4_os.c struct iscsi_conn *conn; conn 2893 drivers/scsi/qla4xxx/ql4_os.c conn = cls_conn->dd_data; conn 2894 drivers/scsi/qla4xxx/ql4_os.c qla_conn = conn->dd_data; conn 2986 drivers/scsi/qla4xxx/ql4_os.c struct iscsi_conn *conn, *existing_conn; conn 2990 drivers/scsi/qla4xxx/ql4_os.c conn = cls_conn->dd_data; conn 2993 drivers/scsi/qla4xxx/ql4_os.c conn->persistent_address == NULL || conn 2994 drivers/scsi/qla4xxx/ql4_os.c conn->persistent_port == 0) conn 3009 drivers/scsi/qla4xxx/ql4_os.c existing_conn = ddb_entry->conn->dd_data; conn 3024 drivers/scsi/qla4xxx/ql4_os.c conn->persistent_address)); conn 3029 drivers/scsi/qla4xxx/ql4_os.c conn->persistent_port)); conn 3035 drivers/scsi/qla4xxx/ql4_os.c conn->persistent_address); conn 3038 drivers/scsi/qla4xxx/ql4_os.c if (existing_conn->persistent_port != conn->persistent_port) conn 3177 drivers/scsi/qla4xxx/ql4_os.c ddb_entry->conn = cls_conn; conn 3189 drivers/scsi/qla4xxx/ql4_os.c struct iscsi_conn *conn; conn 3208 drivers/scsi/qla4xxx/ql4_os.c conn = cls_conn->dd_data; conn 3209 drivers/scsi/qla4xxx/ql4_os.c qla_conn = conn->dd_data; conn 3324 drivers/scsi/qla4xxx/ql4_os.c struct iscsi_conn *conn; conn 3339 drivers/scsi/qla4xxx/ql4_os.c conn = task->conn; conn 3349 drivers/scsi/qla4xxx/ql4_os.c iscsi_complete_pdu(conn, hdr, data, data_len); conn 3367 drivers/scsi/qla4xxx/ql4_os.c sess = task->conn->session; conn 3390 drivers/scsi/qla4xxx/ql4_os.c __func__, task->conn->max_recv_dlength, hdr_len)); conn 3392 drivers/scsi/qla4xxx/ql4_os.c task_data->resp_len = task->conn->max_recv_dlength + hdr_len; conn 3434 drivers/scsi/qla4xxx/ql4_os.c sess = task->conn->session; conn 3445 drivers/scsi/qla4xxx/ql4_os.c __func__, task->conn->max_recv_dlength, hdr_len)); conn 3457 drivers/scsi/qla4xxx/ql4_os.c struct iscsi_session *sess = task->conn->session; conn 3470 drivers/scsi/qla4xxx/ql4_os.c struct iscsi_bus_flash_conn *conn, conn 3477 drivers/scsi/qla4xxx/ql4_os.c conn->is_fw_assigned_ipv6 = test_bit(OPT_IS_FW_ASSIGNED_IPV6, &options); conn 3496 drivers/scsi/qla4xxx/ql4_os.c conn->hdrdgst_en = test_bit(ISCSIOPT_HEADER_DIGEST_EN, &options); conn 3497 drivers/scsi/qla4xxx/ql4_os.c conn->datadgst_en = test_bit(ISCSIOPT_DATA_DIGEST_EN, &options); conn 3504 drivers/scsi/qla4xxx/ql4_os.c conn->snack_req_en = test_bit(ISCSIOPT_SNACK_REQ_EN, &options); conn 3516 drivers/scsi/qla4xxx/ql4_os.c conn->tcp_timestamp_stat = test_bit(TCPOPT_TIMESTAMP_STAT, &options); conn 3517 drivers/scsi/qla4xxx/ql4_os.c conn->tcp_nagle_disable = test_bit(TCPOPT_NAGLE_DISABLE, &options); conn 3518 drivers/scsi/qla4xxx/ql4_os.c conn->tcp_wsf_disable = test_bit(TCPOPT_WSF_DISABLE, &options); conn 3520 drivers/scsi/qla4xxx/ql4_os.c conn->tcp_timer_scale |= BIT_3; conn 3522 drivers/scsi/qla4xxx/ql4_os.c conn->tcp_timer_scale |= BIT_2; conn 3524 drivers/scsi/qla4xxx/ql4_os.c conn->tcp_timer_scale |= BIT_1; conn 3526 drivers/scsi/qla4xxx/ql4_os.c conn->tcp_timer_scale >>= 1; conn 3527 drivers/scsi/qla4xxx/ql4_os.c conn->tcp_timestamp_en = test_bit(TCPOPT_TIMESTAMP_EN, &options); conn 3530 drivers/scsi/qla4xxx/ql4_os.c conn->fragment_disable = test_bit(IPOPT_FRAGMENT_DISABLE, &options); conn 3532 drivers/scsi/qla4xxx/ql4_os.c conn->max_recv_dlength = BYTE_UNITS * conn 3534 drivers/scsi/qla4xxx/ql4_os.c conn->max_xmit_dlength = BYTE_UNITS * conn 3544 drivers/scsi/qla4xxx/ql4_os.c conn->max_segment_size = le16_to_cpu(fw_ddb_entry->mss); conn 3545 drivers/scsi/qla4xxx/ql4_os.c conn->tcp_xmit_wsf = fw_ddb_entry->tcp_xmt_wsf; conn 3546 drivers/scsi/qla4xxx/ql4_os.c conn->tcp_recv_wsf = fw_ddb_entry->tcp_rcv_wsf; conn 3547 drivers/scsi/qla4xxx/ql4_os.c conn->ipv6_flow_label = le16_to_cpu(fw_ddb_entry->ipv6_flow_lbl); conn 3548 drivers/scsi/qla4xxx/ql4_os.c conn->keepalive_timeout = le16_to_cpu(fw_ddb_entry->ka_timeout); conn 3549 drivers/scsi/qla4xxx/ql4_os.c conn->local_port = le16_to_cpu(fw_ddb_entry->lcl_port); conn 3550 drivers/scsi/qla4xxx/ql4_os.c conn->statsn = le32_to_cpu(fw_ddb_entry->stat_sn); conn 3551 drivers/scsi/qla4xxx/ql4_os.c conn->exp_statsn = le32_to_cpu(fw_ddb_entry->exp_stat_sn); conn 3559 drivers/scsi/qla4xxx/ql4_os.c conn->port = le16_to_cpu(fw_ddb_entry->port); conn 3562 drivers/scsi/qla4xxx/ql4_os.c conn->ipaddress = kzalloc(IPv6_ADDR_LEN, GFP_KERNEL); conn 3563 drivers/scsi/qla4xxx/ql4_os.c if (!conn->ipaddress) { conn 3568 drivers/scsi/qla4xxx/ql4_os.c conn->redirect_ipaddr = kzalloc(IPv6_ADDR_LEN, GFP_KERNEL); conn 3569 drivers/scsi/qla4xxx/ql4_os.c if (!conn->redirect_ipaddr) { conn 3574 drivers/scsi/qla4xxx/ql4_os.c memcpy(conn->ipaddress, fw_ddb_entry->ip_addr, IPv6_ADDR_LEN); conn 3575 drivers/scsi/qla4xxx/ql4_os.c memcpy(conn->redirect_ipaddr, fw_ddb_entry->tgt_addr, IPv6_ADDR_LEN); conn 3578 drivers/scsi/qla4xxx/ql4_os.c conn->ipv6_traffic_class = fw_ddb_entry->ipv4_tos; conn 3580 drivers/scsi/qla4xxx/ql4_os.c conn->link_local_ipv6_addr = kmemdup( conn 3583 drivers/scsi/qla4xxx/ql4_os.c if (!conn->link_local_ipv6_addr) { conn 3588 drivers/scsi/qla4xxx/ql4_os.c conn->ipv4_tos = fw_ddb_entry->ipv4_tos; conn 3612 drivers/scsi/qla4xxx/ql4_os.c struct iscsi_bus_flash_conn *conn, conn 3619 drivers/scsi/qla4xxx/ql4_os.c SET_BITVAL(conn->is_fw_assigned_ipv6, options, BIT_11); conn 3631 drivers/scsi/qla4xxx/ql4_os.c SET_BITVAL(conn->hdrdgst_en, options, BIT_13); conn 3632 drivers/scsi/qla4xxx/ql4_os.c SET_BITVAL(conn->datadgst_en, options, BIT_12); conn 3638 drivers/scsi/qla4xxx/ql4_os.c SET_BITVAL(conn->snack_req_en, options, BIT_6); conn 3647 drivers/scsi/qla4xxx/ql4_os.c SET_BITVAL(conn->tcp_timestamp_stat, options, BIT_6); conn 3648 drivers/scsi/qla4xxx/ql4_os.c SET_BITVAL(conn->tcp_nagle_disable, options, BIT_5); conn 3649 drivers/scsi/qla4xxx/ql4_os.c SET_BITVAL(conn->tcp_wsf_disable, options, BIT_4); conn 3650 drivers/scsi/qla4xxx/ql4_os.c SET_BITVAL(conn->tcp_timer_scale & BIT_2, options, BIT_3); conn 3651 drivers/scsi/qla4xxx/ql4_os.c SET_BITVAL(conn->tcp_timer_scale & BIT_1, options, BIT_2); conn 3652 drivers/scsi/qla4xxx/ql4_os.c SET_BITVAL(conn->tcp_timer_scale & BIT_0, options, BIT_1); conn 3653 drivers/scsi/qla4xxx/ql4_os.c SET_BITVAL(conn->tcp_timestamp_en, options, BIT_0); conn 3657 drivers/scsi/qla4xxx/ql4_os.c SET_BITVAL(conn->fragment_disable, options, BIT_4); conn 3662 drivers/scsi/qla4xxx/ql4_os.c cpu_to_le16(conn->max_recv_dlength / BYTE_UNITS); conn 3664 drivers/scsi/qla4xxx/ql4_os.c cpu_to_le16(conn->max_xmit_dlength / BYTE_UNITS); conn 3672 drivers/scsi/qla4xxx/ql4_os.c fw_ddb_entry->mss = cpu_to_le16(conn->max_segment_size); conn 3673 drivers/scsi/qla4xxx/ql4_os.c fw_ddb_entry->tcp_xmt_wsf = (uint8_t) cpu_to_le32(conn->tcp_xmit_wsf); conn 3674 drivers/scsi/qla4xxx/ql4_os.c fw_ddb_entry->tcp_rcv_wsf = (uint8_t) cpu_to_le32(conn->tcp_recv_wsf); conn 3675 drivers/scsi/qla4xxx/ql4_os.c fw_ddb_entry->ipv6_flow_lbl = cpu_to_le16(conn->ipv6_flow_label); conn 3676 drivers/scsi/qla4xxx/ql4_os.c fw_ddb_entry->ka_timeout = cpu_to_le16(conn->keepalive_timeout); conn 3677 drivers/scsi/qla4xxx/ql4_os.c fw_ddb_entry->lcl_port = cpu_to_le16(conn->local_port); conn 3678 drivers/scsi/qla4xxx/ql4_os.c fw_ddb_entry->stat_sn = cpu_to_le32(conn->statsn); conn 3679 drivers/scsi/qla4xxx/ql4_os.c fw_ddb_entry->exp_stat_sn = cpu_to_le32(conn->exp_statsn); conn 3683 drivers/scsi/qla4xxx/ql4_os.c fw_ddb_entry->port = cpu_to_le16(conn->port); conn 3688 drivers/scsi/qla4xxx/ql4_os.c fw_ddb_entry->ipv4_tos = conn->ipv6_traffic_class; conn 3690 drivers/scsi/qla4xxx/ql4_os.c fw_ddb_entry->ipv4_tos = conn->ipv4_tos; conn 3692 drivers/scsi/qla4xxx/ql4_os.c if (conn->ipaddress) conn 3693 drivers/scsi/qla4xxx/ql4_os.c memcpy(fw_ddb_entry->ip_addr, conn->ipaddress, conn 3696 drivers/scsi/qla4xxx/ql4_os.c if (conn->redirect_ipaddr) conn 3697 drivers/scsi/qla4xxx/ql4_os.c memcpy(fw_ddb_entry->tgt_addr, conn->redirect_ipaddr, conn 3700 drivers/scsi/qla4xxx/ql4_os.c if (conn->link_local_ipv6_addr) conn 3702 drivers/scsi/qla4xxx/ql4_os.c conn->link_local_ipv6_addr, conn 3718 drivers/scsi/qla4xxx/ql4_os.c static void qla4xxx_copy_to_sess_conn_params(struct iscsi_conn *conn, conn 3728 drivers/scsi/qla4xxx/ql4_os.c conn->is_fw_assigned_ipv6 = test_bit(OPT_IS_FW_ASSIGNED_IPV6, &options); conn 3734 drivers/scsi/qla4xxx/ql4_os.c conn->hdrdgst_en = test_bit(ISCSIOPT_HEADER_DIGEST_EN, &options); conn 3735 drivers/scsi/qla4xxx/ql4_os.c conn->datadgst_en = test_bit(ISCSIOPT_DATA_DIGEST_EN, &options); conn 3753 drivers/scsi/qla4xxx/ql4_os.c conn->tcp_timestamp_stat = test_bit(TCPOPT_TIMESTAMP_STAT, &options); conn 3754 drivers/scsi/qla4xxx/ql4_os.c conn->tcp_nagle_disable = test_bit(TCPOPT_NAGLE_DISABLE, &options); conn 3755 drivers/scsi/qla4xxx/ql4_os.c conn->tcp_wsf_disable = test_bit(TCPOPT_WSF_DISABLE, &options); conn 3757 drivers/scsi/qla4xxx/ql4_os.c conn->tcp_timer_scale |= BIT_3; conn 3759 drivers/scsi/qla4xxx/ql4_os.c conn->tcp_timer_scale |= BIT_2; conn 3761 drivers/scsi/qla4xxx/ql4_os.c conn->tcp_timer_scale |= BIT_1; conn 3763 drivers/scsi/qla4xxx/ql4_os.c conn->tcp_timer_scale >>= 1; conn 3764 drivers/scsi/qla4xxx/ql4_os.c conn->tcp_timestamp_en = test_bit(TCPOPT_TIMESTAMP_EN, &options); conn 3767 drivers/scsi/qla4xxx/ql4_os.c conn->fragment_disable = test_bit(IPOPT_FRAGMENT_DISABLE, &options); conn 3769 drivers/scsi/qla4xxx/ql4_os.c conn->max_recv_dlength = BYTE_UNITS * conn 3771 drivers/scsi/qla4xxx/ql4_os.c conn->max_xmit_dlength = BYTE_UNITS * conn 3781 drivers/scsi/qla4xxx/ql4_os.c conn->max_segment_size = le16_to_cpu(fw_ddb_entry->mss); conn 3782 drivers/scsi/qla4xxx/ql4_os.c conn->tcp_xmit_wsf = fw_ddb_entry->tcp_xmt_wsf; conn 3783 drivers/scsi/qla4xxx/ql4_os.c conn->tcp_recv_wsf = fw_ddb_entry->tcp_rcv_wsf; conn 3784 drivers/scsi/qla4xxx/ql4_os.c conn->ipv4_tos = fw_ddb_entry->ipv4_tos; conn 3785 drivers/scsi/qla4xxx/ql4_os.c conn->keepalive_tmo = le16_to_cpu(fw_ddb_entry->ka_timeout); conn 3786 drivers/scsi/qla4xxx/ql4_os.c conn->local_port = le16_to_cpu(fw_ddb_entry->lcl_port); conn 3787 drivers/scsi/qla4xxx/ql4_os.c conn->statsn = le32_to_cpu(fw_ddb_entry->stat_sn); conn 3788 drivers/scsi/qla4xxx/ql4_os.c conn->exp_statsn = le32_to_cpu(fw_ddb_entry->exp_stat_sn); conn 3802 drivers/scsi/qla4xxx/ql4_os.c iscsi_set_param(conn->cls_conn, ISCSI_PARAM_DISCOVERY_PARENT_TYPE, conn 3805 drivers/scsi/qla4xxx/ql4_os.c iscsi_set_param(conn->cls_conn, ISCSI_PARAM_TARGET_ALIAS, conn 3812 drivers/scsi/qla4xxx/ql4_os.c iscsi_set_param(conn->cls_conn, ISCSI_PARAM_LOCAL_IPADDR, conn 3826 drivers/scsi/qla4xxx/ql4_os.c struct iscsi_conn *conn; conn 3832 drivers/scsi/qla4xxx/ql4_os.c conn = cls_conn->dd_data; conn 3837 drivers/scsi/qla4xxx/ql4_os.c qla4xxx_copy_to_sess_conn_params(conn, sess, fw_ddb_entry); conn 3840 drivers/scsi/qla4xxx/ql4_os.c conn->persistent_port = le16_to_cpu(fw_ddb_entry->port); conn 3904 drivers/scsi/qla4xxx/ql4_os.c cls_conn = ddb_entry->conn; conn 3921 drivers/scsi/qla4xxx/ql4_os.c struct iscsi_conn *conn; conn 3947 drivers/scsi/qla4xxx/ql4_os.c cls_conn = ddb_entry->conn; conn 3948 drivers/scsi/qla4xxx/ql4_os.c conn = cls_conn->dd_data; conn 3960 drivers/scsi/qla4xxx/ql4_os.c qla4xxx_copy_to_sess_conn_params(conn, sess, fw_ddb_entry); conn 5096 drivers/scsi/qla4xxx/ql4_os.c iscsi_conn_start(ddb_entry->conn); conn 5097 drivers/scsi/qla4xxx/ql4_os.c iscsi_conn_login_event(ddb_entry->conn, conn 6256 drivers/scsi/qla4xxx/ql4_os.c struct iscsi_conn *conn; conn 6262 drivers/scsi/qla4xxx/ql4_os.c cls_conn = ddb_entry->conn; conn 6263 drivers/scsi/qla4xxx/ql4_os.c conn = cls_conn->dd_data; conn 6266 drivers/scsi/qla4xxx/ql4_os.c tddb->port = conn->persistent_port; conn 6268 drivers/scsi/qla4xxx/ql4_os.c strlcpy(tddb->ip_addr, conn->persistent_address, DDB_IPADDR_LEN); conn 6923 drivers/scsi/qla4xxx/ql4_os.c ddb_entry->conn = cls_conn; conn 6928 drivers/scsi/qla4xxx/ql4_os.c ep->conn = cls_conn; conn 7689 drivers/scsi/qla4xxx/ql4_os.c iscsi_destroy_endpoint(ddb_entry->conn->ep); conn 8972 drivers/scsi/qla4xxx/ql4_os.c iscsi_destroy_endpoint(ddb_entry->conn->ep); conn 1616 drivers/scsi/scsi_transport_iscsi.c static uint32_t iscsi_conn_get_sid(struct iscsi_cls_conn *conn) conn 1618 drivers/scsi/scsi_transport_iscsi.c struct iscsi_cls_session *sess = iscsi_dev_to_session(conn->dev.parent); conn 1647 drivers/scsi/scsi_transport_iscsi.c struct iscsi_cls_conn *conn; conn 1650 drivers/scsi/scsi_transport_iscsi.c list_for_each_entry(conn, &connlist, conn_list) { conn 1651 drivers/scsi/scsi_transport_iscsi.c if ((conn->cid == cid) && (iscsi_conn_get_sid(conn) == sid)) { conn 1653 drivers/scsi/scsi_transport_iscsi.c return conn; conn 2145 drivers/scsi/scsi_transport_iscsi.c struct iscsi_cls_conn *conn = iscsi_dev_to_conn(dev); conn 2146 drivers/scsi/scsi_transport_iscsi.c struct device *parent = conn->dev.parent; conn 2148 drivers/scsi/scsi_transport_iscsi.c ISCSI_DBG_TRANS_CONN(conn, "Releasing conn\n"); conn 2149 drivers/scsi/scsi_transport_iscsi.c kfree(conn); conn 2240 drivers/scsi/scsi_transport_iscsi.c struct iscsi_cls_conn *conn; conn 2244 drivers/scsi/scsi_transport_iscsi.c conn = kzalloc(sizeof(*conn) + dd_size, GFP_KERNEL); conn 2245 drivers/scsi/scsi_transport_iscsi.c if (!conn) conn 2248 drivers/scsi/scsi_transport_iscsi.c conn->dd_data = &conn[1]; conn 2250 drivers/scsi/scsi_transport_iscsi.c mutex_init(&conn->ep_mutex); conn 2251 drivers/scsi/scsi_transport_iscsi.c INIT_LIST_HEAD(&conn->conn_list); conn 2252 drivers/scsi/scsi_transport_iscsi.c conn->transport = transport; conn 2253 drivers/scsi/scsi_transport_iscsi.c conn->cid = cid; conn 2259 drivers/scsi/scsi_transport_iscsi.c dev_set_name(&conn->dev, "connection%d:%u", session->sid, cid); conn 2260 drivers/scsi/scsi_transport_iscsi.c conn->dev.parent = &session->dev; conn 2261 drivers/scsi/scsi_transport_iscsi.c conn->dev.release = iscsi_conn_release; conn 2262 drivers/scsi/scsi_transport_iscsi.c err = device_register(&conn->dev); conn 2268 drivers/scsi/scsi_transport_iscsi.c transport_register_device(&conn->dev); conn 2271 drivers/scsi/scsi_transport_iscsi.c list_add(&conn->conn_list, &connlist); conn 2274 drivers/scsi/scsi_transport_iscsi.c ISCSI_DBG_TRANS_CONN(conn, "Completed conn creation\n"); conn 2275 drivers/scsi/scsi_transport_iscsi.c return conn; conn 2280 drivers/scsi/scsi_transport_iscsi.c kfree(conn); conn 2292 drivers/scsi/scsi_transport_iscsi.c int iscsi_destroy_conn(struct iscsi_cls_conn *conn) conn 2297 drivers/scsi/scsi_transport_iscsi.c list_del(&conn->conn_list); conn 2300 drivers/scsi/scsi_transport_iscsi.c transport_unregister_device(&conn->dev); conn 2301 drivers/scsi/scsi_transport_iscsi.c ISCSI_DBG_TRANS_CONN(conn, "Completing conn destruction\n"); conn 2302 drivers/scsi/scsi_transport_iscsi.c device_unregister(&conn->dev); conn 2339 drivers/scsi/scsi_transport_iscsi.c int iscsi_recv_pdu(struct iscsi_cls_conn *conn, struct iscsi_hdr *hdr, conn 2350 drivers/scsi/scsi_transport_iscsi.c priv = iscsi_if_transport_lookup(conn->transport); conn 2356 drivers/scsi/scsi_transport_iscsi.c iscsi_conn_error_event(conn, ISCSI_ERR_CONN_FAILED); conn 2357 drivers/scsi/scsi_transport_iscsi.c iscsi_cls_conn_printk(KERN_ERR, conn, "can not deliver " conn 2365 drivers/scsi/scsi_transport_iscsi.c ev->transport_handle = iscsi_handle(conn->transport); conn 2367 drivers/scsi/scsi_transport_iscsi.c ev->r.recv_req.cid = conn->cid; conn 2368 drivers/scsi/scsi_transport_iscsi.c ev->r.recv_req.sid = iscsi_conn_get_sid(conn); conn 2412 drivers/scsi/scsi_transport_iscsi.c void iscsi_conn_error_event(struct iscsi_cls_conn *conn, enum iscsi_err error) conn 2420 drivers/scsi/scsi_transport_iscsi.c priv = iscsi_if_transport_lookup(conn->transport); conn 2426 drivers/scsi/scsi_transport_iscsi.c iscsi_cls_conn_printk(KERN_ERR, conn, "gracefully ignored " conn 2433 drivers/scsi/scsi_transport_iscsi.c ev->transport_handle = iscsi_handle(conn->transport); conn 2436 drivers/scsi/scsi_transport_iscsi.c ev->r.connerror.cid = conn->cid; conn 2437 drivers/scsi/scsi_transport_iscsi.c ev->r.connerror.sid = iscsi_conn_get_sid(conn); conn 2441 drivers/scsi/scsi_transport_iscsi.c iscsi_cls_conn_printk(KERN_INFO, conn, "detected conn error (%d)\n", conn 2446 drivers/scsi/scsi_transport_iscsi.c void iscsi_conn_login_event(struct iscsi_cls_conn *conn, conn 2455 drivers/scsi/scsi_transport_iscsi.c priv = iscsi_if_transport_lookup(conn->transport); conn 2461 drivers/scsi/scsi_transport_iscsi.c iscsi_cls_conn_printk(KERN_ERR, conn, "gracefully ignored " conn 2468 drivers/scsi/scsi_transport_iscsi.c ev->transport_handle = iscsi_handle(conn->transport); conn 2471 drivers/scsi/scsi_transport_iscsi.c ev->r.conn_login.cid = conn->cid; conn 2472 drivers/scsi/scsi_transport_iscsi.c ev->r.conn_login.sid = iscsi_conn_get_sid(conn); conn 2475 drivers/scsi/scsi_transport_iscsi.c iscsi_cls_conn_printk(KERN_INFO, conn, "detected conn login (%d)\n", conn 2564 drivers/scsi/scsi_transport_iscsi.c struct iscsi_cls_conn *conn; conn 2578 drivers/scsi/scsi_transport_iscsi.c conn = iscsi_conn_lookup(ev->u.get_stats.sid, ev->u.get_stats.cid); conn 2579 drivers/scsi/scsi_transport_iscsi.c if (!conn) conn 2587 drivers/scsi/scsi_transport_iscsi.c iscsi_cls_conn_printk(KERN_ERR, conn, "can not " conn 2596 drivers/scsi/scsi_transport_iscsi.c evstat->transport_handle = iscsi_handle(conn->transport); conn 2606 drivers/scsi/scsi_transport_iscsi.c transport->get_stats(conn, stats); conn 2720 drivers/scsi/scsi_transport_iscsi.c struct iscsi_cls_conn *conn; conn 2730 drivers/scsi/scsi_transport_iscsi.c conn = transport->create_conn(session, ev->u.c_conn.cid); conn 2731 drivers/scsi/scsi_transport_iscsi.c if (!conn) { conn 2738 drivers/scsi/scsi_transport_iscsi.c ev->r.c_conn_ret.cid = conn->cid; conn 2740 drivers/scsi/scsi_transport_iscsi.c ISCSI_DBG_TRANS_CONN(conn, "Completed creating transport conn\n"); conn 2747 drivers/scsi/scsi_transport_iscsi.c struct iscsi_cls_conn *conn; conn 2749 drivers/scsi/scsi_transport_iscsi.c conn = iscsi_conn_lookup(ev->u.d_conn.sid, ev->u.d_conn.cid); conn 2750 drivers/scsi/scsi_transport_iscsi.c if (!conn) conn 2753 drivers/scsi/scsi_transport_iscsi.c ISCSI_DBG_TRANS_CONN(conn, "Destroying transport conn\n"); conn 2755 drivers/scsi/scsi_transport_iscsi.c transport->destroy_conn(conn); conn 2764 drivers/scsi/scsi_transport_iscsi.c struct iscsi_cls_conn *conn; conn 2769 drivers/scsi/scsi_transport_iscsi.c conn = iscsi_conn_lookup(ev->u.set_param.sid, ev->u.set_param.cid); conn 2770 drivers/scsi/scsi_transport_iscsi.c if (!conn || !session) conn 2780 drivers/scsi/scsi_transport_iscsi.c err = transport->set_param(conn, ev->u.set_param.param, conn 2827 drivers/scsi/scsi_transport_iscsi.c struct iscsi_cls_conn *conn; conn 2836 drivers/scsi/scsi_transport_iscsi.c conn = ep->conn; conn 2837 drivers/scsi/scsi_transport_iscsi.c if (conn) { conn 2838 drivers/scsi/scsi_transport_iscsi.c mutex_lock(&conn->ep_mutex); conn 2839 drivers/scsi/scsi_transport_iscsi.c conn->ep = NULL; conn 2840 drivers/scsi/scsi_transport_iscsi.c mutex_unlock(&conn->ep_mutex); conn 2954 drivers/scsi/scsi_transport_iscsi.c struct iscsi_cls_conn *conn; conn 2959 drivers/scsi/scsi_transport_iscsi.c list_for_each_entry(conn, &connlist, conn_list) { conn 2960 drivers/scsi/scsi_transport_iscsi.c if (iscsi_conn_get_sid(conn) == sid) { conn 3506 drivers/scsi/scsi_transport_iscsi.c struct iscsi_cls_conn *conn; conn 3570 drivers/scsi/scsi_transport_iscsi.c conn = iscsi_conn_lookup(ev->u.b_conn.sid, ev->u.b_conn.cid); conn 3572 drivers/scsi/scsi_transport_iscsi.c if (conn && conn->ep) conn 3573 drivers/scsi/scsi_transport_iscsi.c iscsi_if_ep_disconnect(transport, conn->ep->id); conn 3575 drivers/scsi/scsi_transport_iscsi.c if (!session || !conn) { conn 3580 drivers/scsi/scsi_transport_iscsi.c ev->r.retcode = transport->bind_conn(session, conn, conn 3588 drivers/scsi/scsi_transport_iscsi.c ep->conn = conn; conn 3590 drivers/scsi/scsi_transport_iscsi.c mutex_lock(&conn->ep_mutex); conn 3591 drivers/scsi/scsi_transport_iscsi.c conn->ep = ep; conn 3592 drivers/scsi/scsi_transport_iscsi.c mutex_unlock(&conn->ep_mutex); conn 3594 drivers/scsi/scsi_transport_iscsi.c iscsi_cls_conn_printk(KERN_ERR, conn, conn 3602 drivers/scsi/scsi_transport_iscsi.c conn = iscsi_conn_lookup(ev->u.start_conn.sid, ev->u.start_conn.cid); conn 3603 drivers/scsi/scsi_transport_iscsi.c if (conn) conn 3604 drivers/scsi/scsi_transport_iscsi.c ev->r.retcode = transport->start_conn(conn); conn 3609 drivers/scsi/scsi_transport_iscsi.c conn = iscsi_conn_lookup(ev->u.stop_conn.sid, ev->u.stop_conn.cid); conn 3610 drivers/scsi/scsi_transport_iscsi.c if (conn) conn 3611 drivers/scsi/scsi_transport_iscsi.c transport->stop_conn(conn, ev->u.stop_conn.flag); conn 3616 drivers/scsi/scsi_transport_iscsi.c conn = iscsi_conn_lookup(ev->u.send_pdu.sid, ev->u.send_pdu.cid); conn 3617 drivers/scsi/scsi_transport_iscsi.c if (conn) conn 3618 drivers/scsi/scsi_transport_iscsi.c ev->r.retcode = transport->send_pdu(conn, conn 3762 drivers/scsi/scsi_transport_iscsi.c struct iscsi_cls_conn *conn = iscsi_dev_to_conn(dev->parent); \ conn 3763 drivers/scsi/scsi_transport_iscsi.c struct iscsi_transport *t = conn->transport; \ conn 3764 drivers/scsi/scsi_transport_iscsi.c return t->get_conn_param(conn, param, buf); \ conn 3769 drivers/scsi/scsi_transport_iscsi.c static ISCSI_CLASS_ATTR(conn, field, S_IRUGO, show_conn_param_##param, \ conn 3807 drivers/scsi/scsi_transport_iscsi.c struct iscsi_cls_conn *conn = iscsi_dev_to_conn(dev->parent); \ conn 3808 drivers/scsi/scsi_transport_iscsi.c struct iscsi_transport *t = conn->transport; \ conn 3816 drivers/scsi/scsi_transport_iscsi.c mutex_lock(&conn->ep_mutex); \ conn 3817 drivers/scsi/scsi_transport_iscsi.c ep = conn->ep; \ conn 3819 drivers/scsi/scsi_transport_iscsi.c mutex_unlock(&conn->ep_mutex); \ conn 3826 drivers/scsi/scsi_transport_iscsi.c rc = t->get_conn_param(conn, param, buf); \ conn 3827 drivers/scsi/scsi_transport_iscsi.c mutex_unlock(&conn->ep_mutex); \ conn 3833 drivers/scsi/scsi_transport_iscsi.c static ISCSI_CLASS_ATTR(conn, field, S_IRUGO, \ conn 3877 drivers/scsi/scsi_transport_iscsi.c struct iscsi_cls_conn *conn = transport_class_to_conn(cdev); conn 3878 drivers/scsi/scsi_transport_iscsi.c struct iscsi_transport *t = conn->transport; conn 4400 drivers/scsi/scsi_transport_iscsi.c struct iscsi_cls_conn *conn; conn 4407 drivers/scsi/scsi_transport_iscsi.c conn = iscsi_dev_to_conn(dev); conn 4408 drivers/scsi/scsi_transport_iscsi.c session = iscsi_dev_to_session(conn->dev.parent); conn 385 drivers/staging/greybus/camera.c struct gb_connection *conn; conn 393 drivers/staging/greybus/camera.c conn = gb_connection_create_offloaded(gcam->bundle, gcam->data_cport_id, conn 396 drivers/staging/greybus/camera.c if (IS_ERR(conn)) conn 397 drivers/staging/greybus/camera.c return PTR_ERR(conn); conn 399 drivers/staging/greybus/camera.c gcam->data_connection = conn; conn 400 drivers/staging/greybus/camera.c gb_connection_set_data(conn, gcam); conn 402 drivers/staging/greybus/camera.c ret = gb_connection_enable(conn); conn 1238 drivers/staging/greybus/camera.c struct gb_connection *conn; conn 1280 drivers/staging/greybus/camera.c conn = gb_connection_create(bundle, mgmt_cport_id, conn 1282 drivers/staging/greybus/camera.c if (IS_ERR(conn)) { conn 1283 drivers/staging/greybus/camera.c ret = PTR_ERR(conn); conn 1287 drivers/staging/greybus/camera.c gcam->connection = conn; conn 1288 drivers/staging/greybus/camera.c gb_connection_set_data(conn, gcam); conn 1290 drivers/staging/greybus/camera.c ret = gb_connection_enable(conn); conn 196 drivers/staging/greybus/loopback.c #define gb_dev_loopback_ro_attr(field, conn) \ conn 192 drivers/target/iscsi/cxgbit/cxgbit.h struct iscsi_conn *conn; conn 468 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_set_conn_info(struct iscsi_np *np, struct iscsi_conn *conn, conn 471 drivers/target/iscsi/cxgbit/cxgbit_cm.c conn->login_family = np->np_sockaddr.ss_family; conn 472 drivers/target/iscsi/cxgbit/cxgbit_cm.c conn->login_sockaddr = csk->com.remote_addr; conn 473 drivers/target/iscsi/cxgbit/cxgbit_cm.c conn->local_sockaddr = csk->com.local_addr; conn 476 drivers/target/iscsi/cxgbit/cxgbit_cm.c int cxgbit_accept_np(struct iscsi_np *np, struct iscsi_conn *conn) conn 510 drivers/target/iscsi/cxgbit/cxgbit_cm.c conn->context = csk; conn 511 drivers/target/iscsi/cxgbit/cxgbit_cm.c csk->conn = conn; conn 513 drivers/target/iscsi/cxgbit/cxgbit_cm.c cxgbit_set_conn_info(np, conn, csk); conn 720 drivers/target/iscsi/cxgbit/cxgbit_cm.c struct iscsi_conn *conn = csk->conn; conn 729 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (conn && (conn->conn_state == TARG_CONN_STATE_IN_LOGOUT)) { conn 754 drivers/target/iscsi/cxgbit/cxgbit_cm.c void cxgbit_free_conn(struct iscsi_conn *conn) conn 756 drivers/target/iscsi/cxgbit/cxgbit_cm.c __cxgbit_free_conn(conn->context); conn 1740 drivers/target/iscsi/cxgbit/cxgbit_cm.c if (!csk->conn) conn 230 drivers/target/iscsi/cxgbit/cxgbit_ddp.c cxgbit_get_r2t_ttt(struct iscsi_conn *conn, struct iscsi_cmd *cmd, conn 233 drivers/target/iscsi/cxgbit/cxgbit_ddp.c struct cxgbit_sock *csk = conn->context; conn 263 drivers/target/iscsi/cxgbit/cxgbit_ddp.c void cxgbit_unmap_cmd(struct iscsi_conn *conn, struct iscsi_cmd *cmd) conn 271 drivers/target/iscsi/cxgbit/cxgbit_ddp.c struct cxgbit_sock *csk = conn->context; conn 653 drivers/target/iscsi/cxgbit/cxgbit_main.c static enum target_prot_op cxgbit_get_sup_prot_ops(struct iscsi_conn *conn) conn 413 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = csk->conn; conn 418 drivers/target/iscsi/cxgbit/cxgbit_target.c u32 mrdsl = conn->conn_ops->MaxRecvDataSegmentLength; conn 456 drivers/target/iscsi/cxgbit/cxgbit_target.c iscsit_increment_maxcmdsn(cmd, conn->sess); conn 457 drivers/target/iscsi/cxgbit/cxgbit_target.c cmd->stat_sn = conn->stat_sn++; conn 471 drivers/target/iscsi/cxgbit/cxgbit_target.c iscsit_build_datain_pdu(cmd, conn, &datain, conn 530 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_xmit_datain_pdu(struct iscsi_conn *conn, struct iscsi_cmd *cmd, conn 534 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_sock *csk = conn->context; conn 537 drivers/target/iscsi/cxgbit/cxgbit_target.c u32 mrdsl = conn->conn_ops->MaxRecvDataSegmentLength; conn 542 drivers/target/iscsi/cxgbit/cxgbit_target.c &conn->sess->tx_data_octets); conn 550 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_xmit_nondatain_pdu(struct iscsi_conn *conn, struct iscsi_cmd *cmd, conn 553 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_sock *csk = conn->context; conn 580 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_xmit_pdu(struct iscsi_conn *conn, struct iscsi_cmd *cmd, conn 584 drivers/target/iscsi/cxgbit/cxgbit_target.c return cxgbit_xmit_datain_pdu(conn, cmd, dr, buf); conn 586 drivers/target/iscsi/cxgbit/cxgbit_target.c return cxgbit_xmit_nondatain_pdu(conn, cmd, buf, buf_len); conn 589 drivers/target/iscsi/cxgbit/cxgbit_target.c int cxgbit_validate_params(struct iscsi_conn *conn) conn 591 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_sock *csk = conn->context; conn 597 drivers/target/iscsi/cxgbit/cxgbit_target.c conn->param_list); conn 606 drivers/target/iscsi/cxgbit/cxgbit_target.c conn, "MaxXmitDataSegmentLength=%u", cdev->mdsl)) conn 615 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = csk->conn; conn 618 drivers/target/iscsi/cxgbit/cxgbit_target.c param = iscsi_find_param_from_key(HEADERDIGEST, conn->param_list); conn 627 drivers/target/iscsi/cxgbit/cxgbit_target.c param = iscsi_find_param_from_key(DATADIGEST, conn->param_list); conn 647 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = csk->conn; conn 648 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn_ops *conn_ops = conn->conn_ops; conn 654 drivers/target/iscsi/cxgbit/cxgbit_target.c if (conn->login->leading_connection) { conn 656 drivers/target/iscsi/cxgbit/cxgbit_target.c conn->param_list); conn 665 drivers/target/iscsi/cxgbit/cxgbit_target.c mbl = conn->sess->sess_ops->MaxBurstLength; conn 698 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = csk->conn; conn 701 drivers/target/iscsi/cxgbit/cxgbit_target.c if (conn->login->leading_connection) { conn 703 drivers/target/iscsi/cxgbit/cxgbit_target.c conn->param_list); conn 713 drivers/target/iscsi/cxgbit/cxgbit_target.c conn->param_list); conn 723 drivers/target/iscsi/cxgbit/cxgbit_target.c if (!conn->sess->sess_ops->DataSequenceInOrder) conn 725 drivers/target/iscsi/cxgbit/cxgbit_target.c if (!conn->sess->sess_ops->DataPDUInOrder) conn 732 drivers/target/iscsi/cxgbit/cxgbit_target.c static int cxgbit_set_params(struct iscsi_conn *conn) conn 734 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_sock *csk = conn->context; conn 737 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn_ops *conn_ops = conn->conn_ops; conn 747 drivers/target/iscsi/cxgbit/cxgbit_target.c if (conn->login->leading_connection) { conn 749 drivers/target/iscsi/cxgbit/cxgbit_target.c conn->param_list); conn 757 drivers/target/iscsi/cxgbit/cxgbit_target.c erl = conn->sess->sess_ops->ErrorRecoveryLevel; conn 791 drivers/target/iscsi/cxgbit/cxgbit_target.c cxgbit_put_login_tx(struct iscsi_conn *conn, struct iscsi_login *login, conn 794 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_sock *csk = conn->context; conn 810 drivers/target/iscsi/cxgbit/cxgbit_target.c if (cxgbit_set_params(conn)) { conn 822 drivers/target/iscsi/cxgbit/cxgbit_target.c schedule_delayed_work(&conn->login_work, 0); conn 854 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = csk->conn; conn 859 drivers/target/iscsi/cxgbit/cxgbit_target.c cmd = iscsit_allocate_cmd(conn, TASK_INTERRUPTIBLE); conn 876 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = cmd->conn; conn 877 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_sock *csk = conn->context; conn 882 drivers/target/iscsi/cxgbit/cxgbit_target.c if (!conn->sess->sess_ops->ErrorRecoveryLevel) { conn 933 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = cmd->conn; conn 950 drivers/target/iscsi/cxgbit/cxgbit_target.c cmdsn_ret = iscsit_sequence_cmd(conn, cmd, conn 976 drivers/target/iscsi/cxgbit/cxgbit_target.c iscsit_add_cmd_to_immediate_queue(cmd, conn, cmd->i_state); conn 986 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = csk->conn; conn 992 drivers/target/iscsi/cxgbit/cxgbit_target.c rc = iscsit_setup_scsi_cmd(conn, cmd, (unsigned char *)hdr); conn 1000 drivers/target/iscsi/cxgbit/cxgbit_target.c rc = iscsit_process_scsi_cmd(conn, cmd, hdr); conn 1015 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = csk->conn; conn 1030 drivers/target/iscsi/cxgbit/cxgbit_target.c cmd = iscsit_find_cmd_from_itt_or_dump(conn, hdr->itt, 0); conn 1035 drivers/target/iscsi/cxgbit/cxgbit_target.c atomic_long_add(ddp_data_len, &conn->sess->rx_data_octets); conn 1041 drivers/target/iscsi/cxgbit/cxgbit_target.c rc = __iscsit_check_dataout_hdr(conn, (unsigned char *)hdr, conn 1048 drivers/target/iscsi/cxgbit/cxgbit_target.c rc = iscsit_check_dataout_hdr(conn, (unsigned char *)hdr, &cmd); conn 1091 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = csk->conn; conn 1098 drivers/target/iscsi/cxgbit/cxgbit_target.c ret = iscsit_setup_nop_out(conn, cmd, hdr); conn 1103 drivers/target/iscsi/cxgbit/cxgbit_target.c if (!conn->sess->sess_ops->ErrorRecoveryLevel) { conn 1149 drivers/target/iscsi/cxgbit/cxgbit_target.c return iscsit_process_nop_out(conn, cmd, hdr); conn 1159 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = csk->conn; conn 1166 drivers/target/iscsi/cxgbit/cxgbit_target.c rc = iscsit_setup_text_cmd(conn, cmd, hdr); conn 1171 drivers/target/iscsi/cxgbit/cxgbit_target.c if (!conn->sess->sess_ops->ErrorRecoveryLevel) { conn 1203 drivers/target/iscsi/cxgbit/cxgbit_target.c return iscsit_process_text_cmd(conn, cmd, hdr); conn 1214 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = csk->conn; conn 1244 drivers/target/iscsi/cxgbit/cxgbit_target.c ret = iscsit_handle_task_mgt_cmd(conn, cmd, conn 1249 drivers/target/iscsi/cxgbit/cxgbit_target.c cmd = iscsit_find_cmd_from_itt(conn, hdr->itt); conn 1265 drivers/target/iscsi/cxgbit/cxgbit_target.c ret = iscsit_handle_logout_cmd(conn, cmd, (unsigned char *)hdr); conn 1267 drivers/target/iscsi/cxgbit/cxgbit_target.c wait_for_completion_timeout(&conn->conn_logout_comp, conn 1272 drivers/target/iscsi/cxgbit/cxgbit_target.c ret = iscsit_handle_snack(conn, (unsigned char *)hdr); conn 1283 drivers/target/iscsi/cxgbit/cxgbit_target.c return iscsit_add_reject(conn, ISCSI_REASON_BOOKMARK_NO_RESOURCES, conn 1291 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = csk->conn; conn 1296 drivers/target/iscsi/cxgbit/cxgbit_target.c atomic_long_inc(&conn->sess->conn_digest_errors); conn 1300 drivers/target/iscsi/cxgbit/cxgbit_target.c if (conn->conn_state == TARG_CONN_STATE_IN_LOGOUT) conn 1305 drivers/target/iscsi/cxgbit/cxgbit_target.c if (conn->sess->sess_ops->SessionType && conn 1310 drivers/target/iscsi/cxgbit/cxgbit_target.c iscsit_add_reject(conn, ISCSI_REASON_PROTOCOL_ERROR, conn 1326 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_conn *conn = csk->conn; conn 1327 drivers/target/iscsi/cxgbit/cxgbit_target.c struct iscsi_login *login = conn->login; conn 1357 drivers/target/iscsi/cxgbit/cxgbit_target.c if (iscsi_target_check_login_request(conn, login) < 0) conn 1613 drivers/target/iscsi/cxgbit/cxgbit_target.c int cxgbit_get_login_rx(struct iscsi_conn *conn, struct iscsi_login *login) conn 1615 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_sock *csk = conn->context; conn 1629 drivers/target/iscsi/cxgbit/cxgbit_target.c void cxgbit_get_rx_pdu(struct iscsi_conn *conn) conn 1631 drivers/target/iscsi/cxgbit/cxgbit_target.c struct cxgbit_sock *csk = conn->context; conn 1634 drivers/target/iscsi/cxgbit/cxgbit_target.c iscsit_thread_check_cpumask(conn, current, 0); conn 477 drivers/target/iscsi/iscsi_target.c int iscsit_queue_rsp(struct iscsi_conn *conn, struct iscsi_cmd *cmd) conn 479 drivers/target/iscsi/iscsi_target.c return iscsit_add_cmd_to_response_queue(cmd, cmd->conn, cmd->i_state); conn 483 drivers/target/iscsi/iscsi_target.c void iscsit_aborted_task(struct iscsi_conn *conn, struct iscsi_cmd *cmd) conn 485 drivers/target/iscsi/iscsi_target.c spin_lock_bh(&conn->cmd_lock); conn 489 drivers/target/iscsi/iscsi_target.c spin_unlock_bh(&conn->cmd_lock); conn 500 drivers/target/iscsi/iscsi_target.c iscsit_xmit_nondatain_pdu(struct iscsi_conn *conn, struct iscsi_cmd *cmd, conn 512 drivers/target/iscsi/iscsi_target.c if (conn->conn_ops->HeaderDigest) { conn 515 drivers/target/iscsi/iscsi_target.c iscsit_do_crypto_hash_buf(conn->conn_tx_hash, hdr, conn 541 drivers/target/iscsi/iscsi_target.c if (conn->conn_ops->DataDigest) { conn 542 drivers/target/iscsi/iscsi_target.c iscsit_do_crypto_hash_buf(conn->conn_tx_hash, conn 559 drivers/target/iscsi/iscsi_target.c ret = iscsit_send_tx_data(cmd, conn, 1); conn 561 drivers/target/iscsi/iscsi_target.c iscsit_tx_thread_wait_for_tcp(conn); conn 574 drivers/target/iscsi/iscsi_target.c iscsit_xmit_datain_pdu(struct iscsi_conn *conn, struct iscsi_cmd *cmd, conn 586 drivers/target/iscsi/iscsi_target.c if (conn->conn_ops->HeaderDigest) { conn 589 drivers/target/iscsi/iscsi_target.c iscsit_do_crypto_hash_buf(conn->conn_tx_hash, cmd->pdu, conn 618 drivers/target/iscsi/iscsi_target.c if (conn->conn_ops->DataDigest) { conn 619 drivers/target/iscsi/iscsi_target.c cmd->data_crc = iscsit_do_crypto_hash_sg(conn->conn_tx_hash, conn 636 drivers/target/iscsi/iscsi_target.c ret = iscsit_fe_sendpage_sg(cmd, conn); conn 641 drivers/target/iscsi/iscsi_target.c iscsit_tx_thread_wait_for_tcp(conn); conn 648 drivers/target/iscsi/iscsi_target.c static int iscsit_xmit_pdu(struct iscsi_conn *conn, struct iscsi_cmd *cmd, conn 653 drivers/target/iscsi/iscsi_target.c return iscsit_xmit_datain_pdu(conn, cmd, buf); conn 655 drivers/target/iscsi/iscsi_target.c return iscsit_xmit_nondatain_pdu(conn, cmd, buf, buf_len); conn 658 drivers/target/iscsi/iscsi_target.c static enum target_prot_op iscsit_get_sup_prot_ops(struct iscsi_conn *conn) conn 791 drivers/target/iscsi/iscsi_target.c struct iscsi_conn *conn, conn 797 drivers/target/iscsi/iscsi_target.c cmd = iscsit_allocate_cmd(conn, TASK_INTERRUPTIBLE); conn 811 drivers/target/iscsi/iscsi_target.c spin_lock_bh(&conn->cmd_lock); conn 812 drivers/target/iscsi/iscsi_target.c list_add_tail(&cmd->i_conn_node, &conn->conn_cmd_list); conn 813 drivers/target/iscsi/iscsi_target.c spin_unlock_bh(&conn->cmd_lock); conn 816 drivers/target/iscsi/iscsi_target.c iscsit_add_cmd_to_response_queue(cmd, conn, cmd->i_state); conn 828 drivers/target/iscsi/iscsi_target.c struct iscsi_conn *conn; conn 831 drivers/target/iscsi/iscsi_target.c if (!cmd->conn) { conn 836 drivers/target/iscsi/iscsi_target.c conn = cmd->conn; conn 849 drivers/target/iscsi/iscsi_target.c spin_lock_bh(&conn->cmd_lock); conn 850 drivers/target/iscsi/iscsi_target.c list_add_tail(&cmd->i_conn_node, &conn->conn_cmd_list); conn 851 drivers/target/iscsi/iscsi_target.c spin_unlock_bh(&conn->cmd_lock); conn 855 drivers/target/iscsi/iscsi_target.c iscsit_add_cmd_to_response_queue(cmd, conn, cmd->i_state); conn 952 drivers/target/iscsi/iscsi_target.c static void iscsit_ack_from_expstatsn(struct iscsi_conn *conn, u32 exp_statsn) conn 957 drivers/target/iscsi/iscsi_target.c conn->exp_statsn = exp_statsn; conn 959 drivers/target/iscsi/iscsi_target.c if (conn->sess->sess_ops->RDMAExtensions) conn 962 drivers/target/iscsi/iscsi_target.c spin_lock_bh(&conn->cmd_lock); conn 963 drivers/target/iscsi/iscsi_target.c list_for_each_entry_safe(cmd, cmd_p, &conn->conn_cmd_list, i_conn_node) { conn 974 drivers/target/iscsi/iscsi_target.c spin_unlock_bh(&conn->cmd_lock); conn 995 drivers/target/iscsi/iscsi_target.c int iscsit_setup_scsi_cmd(struct iscsi_conn *conn, struct iscsi_cmd *cmd, conn 1003 drivers/target/iscsi/iscsi_target.c atomic_long_inc(&conn->sess->cmd_pdus); conn 1061 drivers/target/iscsi/iscsi_target.c if (payload_length && !conn->sess->sess_ops->ImmediateData) { conn 1085 drivers/target/iscsi/iscsi_target.c if (payload_length > conn->conn_ops->MaxXmitDataSegmentLength) { conn 1088 drivers/target/iscsi/iscsi_target.c payload_length, conn->conn_ops->MaxXmitDataSegmentLength); conn 1093 drivers/target/iscsi/iscsi_target.c if (payload_length > conn->sess->sess_ops->FirstBurstLength) { conn 1096 drivers/target/iscsi/iscsi_target.c payload_length, conn->sess->sess_ops->FirstBurstLength); conn 1134 drivers/target/iscsi/iscsi_target.c conn->sess->init_task_tag = cmd->init_task_tag = hdr->itt; conn 1136 drivers/target/iscsi/iscsi_target.c cmd->targ_xfer_tag = session_get_next_ttt(conn->sess); conn 1143 drivers/target/iscsi/iscsi_target.c if (!conn->sess->sess_ops->RDMAExtensions && conn 1159 drivers/target/iscsi/iscsi_target.c conn->sess->se_sess, be32_to_cpu(hdr->data_length), conn 1166 drivers/target/iscsi/iscsi_target.c conn->cid); conn 1193 drivers/target/iscsi/iscsi_target.c spin_lock_bh(&conn->cmd_lock); conn 1194 drivers/target/iscsi/iscsi_target.c list_add_tail(&cmd->i_conn_node, &conn->conn_cmd_list); conn 1195 drivers/target/iscsi/iscsi_target.c spin_unlock_bh(&conn->cmd_lock); conn 1211 drivers/target/iscsi/iscsi_target.c iscsit_start_dataout_timer(cmd, cmd->conn); conn 1216 drivers/target/iscsi/iscsi_target.c int iscsit_process_scsi_cmd(struct iscsi_conn *conn, struct iscsi_cmd *cmd, conn 1231 drivers/target/iscsi/iscsi_target.c cmdsn_ret = iscsit_sequence_cmd(conn, cmd, conn 1241 drivers/target/iscsi/iscsi_target.c iscsit_ack_from_expstatsn(conn, be32_to_cpu(hdr->exp_statsn)); conn 1292 drivers/target/iscsi/iscsi_target.c rc = iscsit_dump_data_payload(cmd->conn, length, 1); conn 1307 drivers/target/iscsi/iscsi_target.c cmdsn_ret = iscsit_sequence_cmd(cmd->conn, cmd, conn 1332 drivers/target/iscsi/iscsi_target.c iscsit_add_cmd_to_immediate_queue(cmd, cmd->conn, cmd->i_state); conn 1340 drivers/target/iscsi/iscsi_target.c iscsit_handle_scsi_cmd(struct iscsi_conn *conn, struct iscsi_cmd *cmd, conn 1347 drivers/target/iscsi/iscsi_target.c rc = iscsit_setup_scsi_cmd(conn, cmd, buf); conn 1360 drivers/target/iscsi/iscsi_target.c rc = iscsit_process_scsi_cmd(conn, cmd, hdr); conn 1433 drivers/target/iscsi/iscsi_target.c __iscsit_check_dataout_hdr(struct iscsi_conn *conn, void *buf, conn 1442 drivers/target/iscsi/iscsi_target.c atomic_long_add(payload_length, &conn->sess->rx_data_octets); conn 1447 drivers/target/iscsi/iscsi_target.c payload_length, conn->cid); conn 1453 drivers/target/iscsi/iscsi_target.c return iscsit_dump_data_payload(conn, payload_length, 1); conn 1459 drivers/target/iscsi/iscsi_target.c return iscsit_dump_data_payload(conn, payload_length, 1); conn 1474 drivers/target/iscsi/iscsi_target.c if (conn->sess->sess_ops->InitialR2T) { conn 1501 drivers/target/iscsi/iscsi_target.c return iscsit_dump_data_payload(conn, payload_length, 1); conn 1519 drivers/target/iscsi/iscsi_target.c return iscsit_dump_data_payload(conn, payload_length, 1); conn 1537 drivers/target/iscsi/iscsi_target.c iscsit_check_dataout_hdr(struct iscsi_conn *conn, void *buf, conn 1551 drivers/target/iscsi/iscsi_target.c if (payload_length > conn->conn_ops->MaxXmitDataSegmentLength) { conn 1554 drivers/target/iscsi/iscsi_target.c conn->conn_ops->MaxXmitDataSegmentLength); conn 1555 drivers/target/iscsi/iscsi_target.c return iscsit_add_reject(conn, ISCSI_REASON_PROTOCOL_ERROR, buf); conn 1558 drivers/target/iscsi/iscsi_target.c cmd = iscsit_find_cmd_from_itt_or_dump(conn, hdr->itt, payload_length); conn 1562 drivers/target/iscsi/iscsi_target.c rc = __iscsit_check_dataout_hdr(conn, buf, cmd, payload_length, &success); conn 1572 drivers/target/iscsi/iscsi_target.c iscsit_get_dataout(struct iscsi_conn *conn, struct iscsi_cmd *cmd, conn 1600 drivers/target/iscsi/iscsi_target.c if (conn->conn_ops->DataDigest) { conn 1607 drivers/target/iscsi/iscsi_target.c rx_got = rx_data(conn, &cmd->iov_data[0], iov_count, rx_size); conn 1614 drivers/target/iscsi/iscsi_target.c if (conn->conn_ops->DataDigest) { conn 1617 drivers/target/iscsi/iscsi_target.c data_crc = iscsit_do_crypto_hash_sg(conn->conn_rx_hash, cmd, conn 1643 drivers/target/iscsi/iscsi_target.c struct iscsi_conn *conn = cmd->conn; conn 1654 drivers/target/iscsi/iscsi_target.c conn->conn_transport->iscsit_get_dataout(conn, cmd, false); conn 1678 drivers/target/iscsi/iscsi_target.c static int iscsit_handle_data_out(struct iscsi_conn *conn, unsigned char *buf) conn 1685 drivers/target/iscsi/iscsi_target.c rc = iscsit_check_dataout_hdr(conn, buf, &cmd); conn 1691 drivers/target/iscsi/iscsi_target.c rc = iscsit_get_dataout(conn, cmd, hdr); conn 1700 drivers/target/iscsi/iscsi_target.c int iscsit_setup_nop_out(struct iscsi_conn *conn, struct iscsi_cmd *cmd, conn 1708 drivers/target/iscsi/iscsi_target.c return iscsit_add_reject(conn, ISCSI_REASON_PROTOCOL_ERROR, conn 1719 drivers/target/iscsi/iscsi_target.c return iscsit_add_reject(conn, ISCSI_REASON_PROTOCOL_ERROR, conn 1726 drivers/target/iscsi/iscsi_target.c if (payload_length > conn->conn_ops->MaxXmitDataSegmentLength) { conn 1730 drivers/target/iscsi/iscsi_target.c conn->conn_ops->MaxXmitDataSegmentLength); conn 1732 drivers/target/iscsi/iscsi_target.c return iscsit_add_reject(conn, ISCSI_REASON_PROTOCOL_ERROR, conn 1756 drivers/target/iscsi/iscsi_target.c conn->sess->init_task_tag = cmd->init_task_tag = hdr->itt; conn 1767 drivers/target/iscsi/iscsi_target.c int iscsit_process_nop_out(struct iscsi_conn *conn, struct iscsi_cmd *cmd, conn 1777 drivers/target/iscsi/iscsi_target.c return iscsit_add_reject(conn, ISCSI_REASON_PROTOCOL_ERROR, conn 1780 drivers/target/iscsi/iscsi_target.c spin_lock_bh(&conn->cmd_lock); conn 1781 drivers/target/iscsi/iscsi_target.c list_add_tail(&cmd->i_conn_node, &conn->conn_cmd_list); conn 1782 drivers/target/iscsi/iscsi_target.c spin_unlock_bh(&conn->cmd_lock); conn 1784 drivers/target/iscsi/iscsi_target.c iscsit_ack_from_expstatsn(conn, be32_to_cpu(hdr->exp_statsn)); conn 1787 drivers/target/iscsi/iscsi_target.c iscsit_add_cmd_to_response_queue(cmd, conn, conn 1792 drivers/target/iscsi/iscsi_target.c cmdsn_ret = iscsit_sequence_cmd(conn, cmd, conn 1805 drivers/target/iscsi/iscsi_target.c cmd_p = iscsit_find_cmd_from_ttt(conn, be32_to_cpu(hdr->ttt)); conn 1809 drivers/target/iscsi/iscsi_target.c iscsit_stop_nopin_response_timer(conn); conn 1812 drivers/target/iscsi/iscsi_target.c iscsit_add_cmd_to_immediate_queue(cmd_p, conn, cmd_p->i_state); conn 1814 drivers/target/iscsi/iscsi_target.c iscsit_start_nopin_timer(conn); conn 1829 drivers/target/iscsi/iscsi_target.c static int iscsit_handle_nop_out(struct iscsi_conn *conn, struct iscsi_cmd *cmd, conn 1838 drivers/target/iscsi/iscsi_target.c ret = iscsit_setup_nop_out(conn, cmd, hdr); conn 1866 drivers/target/iscsi/iscsi_target.c if (conn->conn_ops->DataDigest) { conn 1873 drivers/target/iscsi/iscsi_target.c rx_got = rx_data(conn, &cmd->iov_misc[0], niov, rx_size); conn 1879 drivers/target/iscsi/iscsi_target.c if (conn->conn_ops->DataDigest) { conn 1880 drivers/target/iscsi/iscsi_target.c iscsit_do_crypto_hash_buf(conn->conn_rx_hash, ping_data, conn 1888 drivers/target/iscsi/iscsi_target.c if (!conn->sess->sess_ops->ErrorRecoveryLevel) { conn 1924 drivers/target/iscsi/iscsi_target.c return iscsit_process_nop_out(conn, cmd, hdr); conn 1956 drivers/target/iscsi/iscsi_target.c iscsit_handle_task_mgt_cmd(struct iscsi_conn *conn, struct iscsi_cmd *cmd, conn 1972 drivers/target/iscsi/iscsi_target.c hdr->rtt, hdr->refcmdsn, conn->cid); conn 2002 drivers/target/iscsi/iscsi_target.c conn->sess->se_sess, 0, DMA_NONE, conn 2061 drivers/target/iscsi/iscsi_target.c if (iscsit_tmr_task_warm_reset(conn, tmr_req, buf) < 0) { conn 2067 drivers/target/iscsi/iscsi_target.c if (iscsit_tmr_task_cold_reset(conn, tmr_req, buf) < 0) { conn 2081 drivers/target/iscsi/iscsi_target.c if (iscsit_check_task_reassign_expdatasn(tmr_req, conn) < 0) conn 2096 drivers/target/iscsi/iscsi_target.c spin_lock_bh(&conn->cmd_lock); conn 2097 drivers/target/iscsi/iscsi_target.c list_add_tail(&cmd->i_conn_node, &conn->conn_cmd_list); conn 2098 drivers/target/iscsi/iscsi_target.c spin_unlock_bh(&conn->cmd_lock); conn 2101 drivers/target/iscsi/iscsi_target.c int cmdsn_ret = iscsit_sequence_cmd(conn, cmd, buf, hdr->cmdsn); conn 2111 drivers/target/iscsi/iscsi_target.c iscsit_ack_from_expstatsn(conn, be32_to_cpu(hdr->exp_statsn)); conn 2129 drivers/target/iscsi/iscsi_target.c iscsit_add_cmd_to_response_queue(cmd, conn, cmd->i_state); conn 2137 drivers/target/iscsi/iscsi_target.c iscsit_setup_text_cmd(struct iscsi_conn *conn, struct iscsi_cmd *cmd, conn 2142 drivers/target/iscsi/iscsi_target.c if (payload_length > conn->conn_ops->MaxXmitDataSegmentLength) { conn 2145 drivers/target/iscsi/iscsi_target.c payload_length, conn->conn_ops->MaxXmitDataSegmentLength); conn 2164 drivers/target/iscsi/iscsi_target.c conn->sess->init_task_tag = cmd->init_task_tag = hdr->itt; conn 2177 drivers/target/iscsi/iscsi_target.c iscsit_process_text_cmd(struct iscsi_conn *conn, struct iscsi_cmd *cmd, conn 2213 drivers/target/iscsi/iscsi_target.c spin_lock_bh(&conn->cmd_lock); conn 2214 drivers/target/iscsi/iscsi_target.c list_add_tail(&cmd->i_conn_node, &conn->conn_cmd_list); conn 2215 drivers/target/iscsi/iscsi_target.c spin_unlock_bh(&conn->cmd_lock); conn 2218 drivers/target/iscsi/iscsi_target.c iscsit_ack_from_expstatsn(conn, be32_to_cpu(hdr->exp_statsn)); conn 2221 drivers/target/iscsi/iscsi_target.c cmdsn_ret = iscsit_sequence_cmd(conn, cmd, conn 2238 drivers/target/iscsi/iscsi_target.c iscsit_handle_text_cmd(struct iscsi_conn *conn, struct iscsi_cmd *cmd, conn 2246 drivers/target/iscsi/iscsi_target.c rc = iscsit_setup_text_cmd(conn, cmd, hdr); conn 2272 drivers/target/iscsi/iscsi_target.c if (conn->conn_ops->DataDigest) { conn 2279 drivers/target/iscsi/iscsi_target.c rx_got = rx_data(conn, &iov[0], niov, rx_size); conn 2283 drivers/target/iscsi/iscsi_target.c if (conn->conn_ops->DataDigest) { conn 2284 drivers/target/iscsi/iscsi_target.c iscsit_do_crypto_hash_buf(conn->conn_rx_hash, conn 2292 drivers/target/iscsi/iscsi_target.c if (!conn->sess->sess_ops->ErrorRecoveryLevel) { conn 2319 drivers/target/iscsi/iscsi_target.c return iscsit_process_text_cmd(conn, cmd, hdr); conn 2327 drivers/target/iscsi/iscsi_target.c int iscsit_logout_closesession(struct iscsi_cmd *cmd, struct iscsi_conn *conn) conn 2330 drivers/target/iscsi/iscsi_target.c struct iscsi_session *sess = conn->sess; conn 2333 drivers/target/iscsi/iscsi_target.c " for SID: %u.\n", conn->cid, conn->sess->sid); conn 2336 drivers/target/iscsi/iscsi_target.c atomic_set(&conn->conn_logout_remove, 1); conn 2337 drivers/target/iscsi/iscsi_target.c conn->conn_logout_reason = ISCSI_LOGOUT_REASON_CLOSE_SESSION; conn 2339 drivers/target/iscsi/iscsi_target.c iscsit_inc_conn_usage_count(conn); conn 2352 drivers/target/iscsi/iscsi_target.c iscsit_add_cmd_to_response_queue(cmd, conn, cmd->i_state); conn 2357 drivers/target/iscsi/iscsi_target.c int iscsit_logout_closeconnection(struct iscsi_cmd *cmd, struct iscsi_conn *conn) conn 2360 drivers/target/iscsi/iscsi_target.c struct iscsi_session *sess = conn->sess; conn 2363 drivers/target/iscsi/iscsi_target.c " %hu on CID: %hu.\n", cmd->logout_cid, conn->cid); conn 2369 drivers/target/iscsi/iscsi_target.c if (conn->cid == cmd->logout_cid) { conn 2370 drivers/target/iscsi/iscsi_target.c spin_lock_bh(&conn->state_lock); conn 2372 drivers/target/iscsi/iscsi_target.c conn->conn_state = TARG_CONN_STATE_IN_LOGOUT; conn 2374 drivers/target/iscsi/iscsi_target.c atomic_set(&conn->conn_logout_remove, 1); conn 2375 drivers/target/iscsi/iscsi_target.c conn->conn_logout_reason = ISCSI_LOGOUT_REASON_CLOSE_CONNECTION; conn 2376 drivers/target/iscsi/iscsi_target.c iscsit_inc_conn_usage_count(conn); conn 2378 drivers/target/iscsi/iscsi_target.c spin_unlock_bh(&conn->state_lock); conn 2392 drivers/target/iscsi/iscsi_target.c iscsit_add_cmd_to_response_queue(cmd, conn, conn 2400 drivers/target/iscsi/iscsi_target.c iscsit_add_cmd_to_response_queue(cmd, conn, cmd->i_state); conn 2405 drivers/target/iscsi/iscsi_target.c int iscsit_logout_removeconnforrecovery(struct iscsi_cmd *cmd, struct iscsi_conn *conn) conn 2407 drivers/target/iscsi/iscsi_target.c struct iscsi_session *sess = conn->sess; conn 2410 drivers/target/iscsi/iscsi_target.c " CID: %hu on CID: %hu.\n", cmd->logout_cid, conn->cid); conn 2416 drivers/target/iscsi/iscsi_target.c iscsit_add_cmd_to_response_queue(cmd, conn, cmd->i_state); conn 2420 drivers/target/iscsi/iscsi_target.c if (conn->cid == cmd->logout_cid) { conn 2423 drivers/target/iscsi/iscsi_target.c cmd->logout_cid, conn->cid); conn 2425 drivers/target/iscsi/iscsi_target.c iscsit_add_cmd_to_response_queue(cmd, conn, cmd->i_state); conn 2429 drivers/target/iscsi/iscsi_target.c iscsit_add_cmd_to_response_queue(cmd, conn, cmd->i_state); conn 2435 drivers/target/iscsi/iscsi_target.c iscsit_handle_logout_cmd(struct iscsi_conn *conn, struct iscsi_cmd *cmd, conn 2441 drivers/target/iscsi/iscsi_target.c struct iscsi_tiqn *tiqn = iscsit_snmp_get_tiqn(conn); conn 2458 drivers/target/iscsi/iscsi_target.c hdr->cid, conn->cid); conn 2460 drivers/target/iscsi/iscsi_target.c if (conn->conn_state != TARG_CONN_STATE_LOGGED_IN) { conn 2470 drivers/target/iscsi/iscsi_target.c conn->sess->init_task_tag = cmd->init_task_tag = hdr->itt; conn 2484 drivers/target/iscsi/iscsi_target.c be16_to_cpu(hdr->cid) == conn->cid)) conn 2487 drivers/target/iscsi/iscsi_target.c spin_lock_bh(&conn->cmd_lock); conn 2488 drivers/target/iscsi/iscsi_target.c list_add_tail(&cmd->i_conn_node, &conn->conn_cmd_list); conn 2489 drivers/target/iscsi/iscsi_target.c spin_unlock_bh(&conn->cmd_lock); conn 2492 drivers/target/iscsi/iscsi_target.c iscsit_ack_from_expstatsn(conn, be32_to_cpu(hdr->exp_statsn)); conn 2504 drivers/target/iscsi/iscsi_target.c cmdsn_ret = iscsit_sequence_cmd(conn, cmd, buf, hdr->cmdsn); conn 2516 drivers/target/iscsi/iscsi_target.c struct iscsi_conn *conn, conn 2527 drivers/target/iscsi/iscsi_target.c hdr->begrun, hdr->runlength, conn->cid); conn 2529 drivers/target/iscsi/iscsi_target.c if (!conn->sess->sess_ops->ErrorRecoveryLevel) { conn 2532 drivers/target/iscsi/iscsi_target.c return iscsit_add_reject(conn, ISCSI_REASON_PROTOCOL_ERROR, conn 2541 drivers/target/iscsi/iscsi_target.c return iscsit_handle_recovery_datain_or_r2t(conn, buf, conn 2547 drivers/target/iscsi/iscsi_target.c return iscsit_handle_status_snack(conn, hdr->itt, conn 2551 drivers/target/iscsi/iscsi_target.c return iscsit_handle_data_ack(conn, be32_to_cpu(hdr->ttt), conn 2557 drivers/target/iscsi/iscsi_target.c return iscsit_add_reject(conn, ISCSI_REASON_PROTOCOL_ERROR, conn 2562 drivers/target/iscsi/iscsi_target.c return iscsit_add_reject(conn, ISCSI_REASON_PROTOCOL_ERROR, conn 2570 drivers/target/iscsi/iscsi_target.c static void iscsit_rx_thread_wait_for_tcp(struct iscsi_conn *conn) conn 2572 drivers/target/iscsi/iscsi_target.c if ((conn->sock->sk->sk_shutdown & SEND_SHUTDOWN) || conn 2573 drivers/target/iscsi/iscsi_target.c (conn->sock->sk->sk_shutdown & RCV_SHUTDOWN)) { conn 2575 drivers/target/iscsi/iscsi_target.c &conn->rx_half_close_comp, conn 2587 drivers/target/iscsi/iscsi_target.c struct iscsi_conn *conn = cmd->conn; conn 2625 drivers/target/iscsi/iscsi_target.c if (conn->conn_ops->DataDigest) { conn 2632 drivers/target/iscsi/iscsi_target.c rx_got = rx_data(conn, &cmd->iov_data[0], iov_count, rx_size); conn 2637 drivers/target/iscsi/iscsi_target.c iscsit_rx_thread_wait_for_tcp(conn); conn 2641 drivers/target/iscsi/iscsi_target.c if (conn->conn_ops->DataDigest) { conn 2644 drivers/target/iscsi/iscsi_target.c data_crc = iscsit_do_crypto_hash_sg(conn->conn_rx_hash, cmd, conn 2653 drivers/target/iscsi/iscsi_target.c if (!conn->sess->sess_ops->ErrorRecoveryLevel) { conn 2688 drivers/target/iscsi/iscsi_target.c static void iscsit_build_conn_drop_async_message(struct iscsi_conn *conn) conn 2694 drivers/target/iscsi/iscsi_target.c lockdep_assert_held(&conn->sess->conn_lock); conn 2700 drivers/target/iscsi/iscsi_target.c list_for_each_entry(conn_p, &conn->sess->sess_conn_list, conn_list) { conn 2717 drivers/target/iscsi/iscsi_target.c cmd->logout_cid = conn->cid; conn 2731 drivers/target/iscsi/iscsi_target.c struct iscsi_conn *conn) conn 2743 drivers/target/iscsi/iscsi_target.c cmd->stat_sn = conn->stat_sn++; conn 2745 drivers/target/iscsi/iscsi_target.c hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); conn 2746 drivers/target/iscsi/iscsi_target.c hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); conn 2749 drivers/target/iscsi/iscsi_target.c hdr->param2 = cpu_to_be16(conn->sess->sess_ops->DefaultTime2Wait); conn 2750 drivers/target/iscsi/iscsi_target.c hdr->param3 = cpu_to_be16(conn->sess->sess_ops->DefaultTime2Retain); conn 2754 drivers/target/iscsi/iscsi_target.c cmd->logout_cid, conn->cid); conn 2756 drivers/target/iscsi/iscsi_target.c return conn->conn_transport->iscsit_xmit_pdu(conn, cmd, NULL, NULL, 0); conn 2759 drivers/target/iscsi/iscsi_target.c static void iscsit_tx_thread_wait_for_tcp(struct iscsi_conn *conn) conn 2761 drivers/target/iscsi/iscsi_target.c if ((conn->sock->sk->sk_shutdown & SEND_SHUTDOWN) || conn 2762 drivers/target/iscsi/iscsi_target.c (conn->sock->sk->sk_shutdown & RCV_SHUTDOWN)) { conn 2764 drivers/target/iscsi/iscsi_target.c &conn->tx_half_close_comp, conn 2770 drivers/target/iscsi/iscsi_target.c iscsit_build_datain_pdu(struct iscsi_cmd *cmd, struct iscsi_conn *conn, conn 2803 drivers/target/iscsi/iscsi_target.c hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); conn 2804 drivers/target/iscsi/iscsi_target.c hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); conn 2811 drivers/target/iscsi/iscsi_target.c ntohl(hdr->offset), datain->length, conn->cid); conn 2815 drivers/target/iscsi/iscsi_target.c static int iscsit_send_datain(struct iscsi_cmd *cmd, struct iscsi_conn *conn) conn 2841 drivers/target/iscsi/iscsi_target.c atomic_long_add(datain.length, &conn->sess->tx_data_octets); conn 2852 drivers/target/iscsi/iscsi_target.c iscsit_increment_maxcmdsn(cmd, conn->sess); conn 2853 drivers/target/iscsi/iscsi_target.c cmd->stat_sn = conn->stat_sn++; conn 2860 drivers/target/iscsi/iscsi_target.c iscsit_build_datain_pdu(cmd, conn, &datain, hdr, set_statsn); conn 2862 drivers/target/iscsi/iscsi_target.c ret = conn->conn_transport->iscsit_xmit_pdu(conn, cmd, dr, &datain, 0); conn 2876 drivers/target/iscsi/iscsi_target.c iscsit_build_logout_rsp(struct iscsi_cmd *cmd, struct iscsi_conn *conn, conn 2881 drivers/target/iscsi/iscsi_target.c struct iscsi_session *sess = conn->sess; conn 2909 drivers/target/iscsi/iscsi_target.c " successful.\n", cmd->logout_cid, conn->cid); conn 2928 drivers/target/iscsi/iscsi_target.c conn->sess, cmd->logout_cid); conn 2941 drivers/target/iscsi/iscsi_target.c cmd->logout_cid, conn->cid); conn 2954 drivers/target/iscsi/iscsi_target.c cmd->stat_sn = conn->stat_sn++; conn 2957 drivers/target/iscsi/iscsi_target.c iscsit_increment_maxcmdsn(cmd, conn->sess); conn 2958 drivers/target/iscsi/iscsi_target.c hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); conn 2959 drivers/target/iscsi/iscsi_target.c hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); conn 2964 drivers/target/iscsi/iscsi_target.c cmd->logout_cid, conn->cid); conn 2971 drivers/target/iscsi/iscsi_target.c iscsit_send_logout(struct iscsi_cmd *cmd, struct iscsi_conn *conn) conn 2975 drivers/target/iscsi/iscsi_target.c rc = iscsit_build_logout_rsp(cmd, conn, conn 2980 drivers/target/iscsi/iscsi_target.c return conn->conn_transport->iscsit_xmit_pdu(conn, cmd, NULL, NULL, 0); conn 2984 drivers/target/iscsi/iscsi_target.c iscsit_build_nopin_rsp(struct iscsi_cmd *cmd, struct iscsi_conn *conn, conn 2994 drivers/target/iscsi/iscsi_target.c cmd->stat_sn = (nopout_response) ? conn->stat_sn++ : conn 2995 drivers/target/iscsi/iscsi_target.c conn->stat_sn; conn 2999 drivers/target/iscsi/iscsi_target.c iscsit_increment_maxcmdsn(cmd, conn->sess); conn 3001 drivers/target/iscsi/iscsi_target.c hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); conn 3002 drivers/target/iscsi/iscsi_target.c hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); conn 3016 drivers/target/iscsi/iscsi_target.c struct iscsi_conn *conn, conn 3022 drivers/target/iscsi/iscsi_target.c iscsit_build_nopin_rsp(cmd, conn, hdr, false); conn 3025 drivers/target/iscsi/iscsi_target.c " 0x%08x CID: %hu\n", hdr->ttt, cmd->stat_sn, conn->cid); conn 3027 drivers/target/iscsi/iscsi_target.c ret = conn->conn_transport->iscsit_xmit_pdu(conn, cmd, NULL, NULL, 0); conn 3040 drivers/target/iscsi/iscsi_target.c iscsit_send_nopin(struct iscsi_cmd *cmd, struct iscsi_conn *conn) conn 3044 drivers/target/iscsi/iscsi_target.c iscsit_build_nopin_rsp(cmd, conn, hdr, true); conn 3052 drivers/target/iscsi/iscsi_target.c return conn->conn_transport->iscsit_xmit_pdu(conn, cmd, NULL, conn 3059 drivers/target/iscsi/iscsi_target.c struct iscsi_conn *conn) conn 3076 drivers/target/iscsi/iscsi_target.c if (conn->conn_transport->iscsit_get_r2t_ttt) conn 3077 drivers/target/iscsi/iscsi_target.c conn->conn_transport->iscsit_get_r2t_ttt(conn, cmd, r2t); conn 3079 drivers/target/iscsi/iscsi_target.c r2t->targ_xfer_tag = session_get_next_ttt(conn->sess); conn 3081 drivers/target/iscsi/iscsi_target.c hdr->statsn = cpu_to_be32(conn->stat_sn); conn 3082 drivers/target/iscsi/iscsi_target.c hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); conn 3083 drivers/target/iscsi/iscsi_target.c hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); conn 3092 drivers/target/iscsi/iscsi_target.c r2t->offset, r2t->xfer_len, conn->cid); conn 3098 drivers/target/iscsi/iscsi_target.c ret = conn->conn_transport->iscsit_xmit_pdu(conn, cmd, NULL, NULL, 0); conn 3104 drivers/target/iscsi/iscsi_target.c iscsit_start_dataout_timer(cmd, conn); conn 3115 drivers/target/iscsi/iscsi_target.c struct iscsi_conn *conn, conn 3128 drivers/target/iscsi/iscsi_target.c if (conn->sess->sess_ops->DataSequenceInOrder && conn 3132 drivers/target/iscsi/iscsi_target.c while (cmd->outstanding_r2ts < conn->sess->sess_ops->MaxOutstandingR2T) { conn 3133 drivers/target/iscsi/iscsi_target.c if (conn->sess->sess_ops->DataSequenceInOrder) { conn 3138 drivers/target/iscsi/iscsi_target.c conn->sess->sess_ops->MaxBurstLength - conn 3145 drivers/target/iscsi/iscsi_target.c conn->sess->sess_ops->MaxBurstLength - conn 3149 drivers/target/iscsi/iscsi_target.c conn->sess->sess_ops->MaxBurstLength; conn 3154 drivers/target/iscsi/iscsi_target.c xfer_len = conn->sess->sess_ops->MaxBurstLength; conn 3198 drivers/target/iscsi/iscsi_target.c void iscsit_build_rsp_pdu(struct iscsi_cmd *cmd, struct iscsi_conn *conn, conn 3202 drivers/target/iscsi/iscsi_target.c cmd->stat_sn = conn->stat_sn++; conn 3204 drivers/target/iscsi/iscsi_target.c atomic_long_inc(&conn->sess->rsp_pdus); conn 3221 drivers/target/iscsi/iscsi_target.c iscsit_increment_maxcmdsn(cmd, conn->sess); conn 3222 drivers/target/iscsi/iscsi_target.c hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); conn 3223 drivers/target/iscsi/iscsi_target.c hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); conn 3228 drivers/target/iscsi/iscsi_target.c cmd->se_cmd.scsi_status, conn->cid); conn 3232 drivers/target/iscsi/iscsi_target.c static int iscsit_send_response(struct iscsi_cmd *cmd, struct iscsi_conn *conn) conn 3239 drivers/target/iscsi/iscsi_target.c iscsit_build_rsp_pdu(cmd, conn, inc_stat_sn, hdr); conn 3267 drivers/target/iscsi/iscsi_target.c return conn->conn_transport->iscsit_xmit_pdu(conn, cmd, NULL, data_buf, conn 3289 drivers/target/iscsi/iscsi_target.c iscsit_build_task_mgt_rsp(struct iscsi_cmd *cmd, struct iscsi_conn *conn, conn 3298 drivers/target/iscsi/iscsi_target.c cmd->stat_sn = conn->stat_sn++; conn 3301 drivers/target/iscsi/iscsi_target.c iscsit_increment_maxcmdsn(cmd, conn->sess); conn 3302 drivers/target/iscsi/iscsi_target.c hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); conn 3303 drivers/target/iscsi/iscsi_target.c hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); conn 3307 drivers/target/iscsi/iscsi_target.c cmd->init_task_tag, cmd->stat_sn, hdr->response, conn->cid); conn 3312 drivers/target/iscsi/iscsi_target.c iscsit_send_task_mgt_rsp(struct iscsi_cmd *cmd, struct iscsi_conn *conn) conn 3316 drivers/target/iscsi/iscsi_target.c iscsit_build_task_mgt_rsp(cmd, conn, hdr); conn 3318 drivers/target/iscsi/iscsi_target.c return conn->conn_transport->iscsit_xmit_pdu(conn, cmd, NULL, NULL, 0); conn 3329 drivers/target/iscsi/iscsi_target.c struct iscsi_conn *conn = cmd->conn; conn 3339 drivers/target/iscsi/iscsi_target.c buffer_len = min(conn->conn_ops->MaxRecvDataSegmentLength, conn 3384 drivers/target/iscsi/iscsi_target.c cmd->conn->sess->sess_ops->InitiatorName))) { conn 3428 drivers/target/iscsi/iscsi_target.c sockaddr = &conn->local_sockaddr; conn 3474 drivers/target/iscsi/iscsi_target.c iscsit_build_text_rsp(struct iscsi_cmd *cmd, struct iscsi_conn *conn, conn 3493 drivers/target/iscsi/iscsi_target.c cmd->targ_xfer_tag = session_get_next_ttt(conn->sess); conn 3500 drivers/target/iscsi/iscsi_target.c cmd->stat_sn = conn->stat_sn++; conn 3503 drivers/target/iscsi/iscsi_target.c iscsit_increment_maxcmdsn(cmd, conn->sess); conn 3510 drivers/target/iscsi/iscsi_target.c hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); conn 3511 drivers/target/iscsi/iscsi_target.c hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); conn 3515 drivers/target/iscsi/iscsi_target.c cmd->targ_xfer_tag, cmd->stat_sn, text_length, conn->cid, conn 3525 drivers/target/iscsi/iscsi_target.c struct iscsi_conn *conn) conn 3530 drivers/target/iscsi/iscsi_target.c text_length = iscsit_build_text_rsp(cmd, conn, hdr, conn 3531 drivers/target/iscsi/iscsi_target.c conn->conn_transport->transport_type); conn 3535 drivers/target/iscsi/iscsi_target.c return conn->conn_transport->iscsit_xmit_pdu(conn, cmd, NULL, conn 3541 drivers/target/iscsi/iscsi_target.c iscsit_build_reject(struct iscsi_cmd *cmd, struct iscsi_conn *conn, conn 3549 drivers/target/iscsi/iscsi_target.c cmd->stat_sn = conn->stat_sn++; conn 3551 drivers/target/iscsi/iscsi_target.c hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); conn 3552 drivers/target/iscsi/iscsi_target.c hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); conn 3559 drivers/target/iscsi/iscsi_target.c struct iscsi_conn *conn) conn 3563 drivers/target/iscsi/iscsi_target.c iscsit_build_reject(cmd, conn, hdr); conn 3566 drivers/target/iscsi/iscsi_target.c " CID: %hu\n", ntohl(hdr->statsn), hdr->reason, conn->cid); conn 3568 drivers/target/iscsi/iscsi_target.c return conn->conn_transport->iscsit_xmit_pdu(conn, cmd, NULL, conn 3573 drivers/target/iscsi/iscsi_target.c void iscsit_thread_get_cpumask(struct iscsi_conn *conn) conn 3584 drivers/target/iscsi/iscsi_target.c ord = conn->bitmap_id % cpumask_weight(cpu_online_mask); conn 3587 drivers/target/iscsi/iscsi_target.c cpumask_set_cpu(cpu, conn->conn_cpumask); conn 3595 drivers/target/iscsi/iscsi_target.c cpumask_setall(conn->conn_cpumask); conn 3599 drivers/target/iscsi/iscsi_target.c iscsit_immediate_queue(struct iscsi_conn *conn, struct iscsi_cmd *cmd, int state) conn 3605 drivers/target/iscsi/iscsi_target.c ret = iscsit_send_r2t(cmd, conn); conn 3610 drivers/target/iscsi/iscsi_target.c spin_lock_bh(&conn->cmd_lock); conn 3612 drivers/target/iscsi/iscsi_target.c spin_unlock_bh(&conn->cmd_lock); conn 3617 drivers/target/iscsi/iscsi_target.c iscsit_mod_nopin_response_timer(conn); conn 3618 drivers/target/iscsi/iscsi_target.c ret = iscsit_send_unsolicited_nopin(cmd, conn, 1); conn 3623 drivers/target/iscsi/iscsi_target.c ret = iscsit_send_unsolicited_nopin(cmd, conn, 0); conn 3631 drivers/target/iscsi/iscsi_target.c conn->cid); conn 3643 drivers/target/iscsi/iscsi_target.c iscsit_handle_immediate_queue(struct iscsi_conn *conn) conn 3645 drivers/target/iscsi/iscsi_target.c struct iscsit_transport *t = conn->conn_transport; conn 3651 drivers/target/iscsi/iscsi_target.c while ((qr = iscsit_get_cmd_from_immediate_queue(conn))) { conn 3652 drivers/target/iscsi/iscsi_target.c atomic_set(&conn->check_immediate_queue, 0); conn 3657 drivers/target/iscsi/iscsi_target.c ret = t->iscsit_immediate_queue(conn, cmd, state); conn 3666 drivers/target/iscsi/iscsi_target.c iscsit_response_queue(struct iscsi_conn *conn, struct iscsi_cmd *cmd, int state) conn 3673 drivers/target/iscsi/iscsi_target.c ret = iscsit_send_datain(cmd, conn); conn 3685 drivers/target/iscsi/iscsi_target.c if (atomic_read(&conn->check_immediate_queue)) conn 3702 drivers/target/iscsi/iscsi_target.c ret = iscsit_send_response(cmd, conn); conn 3705 drivers/target/iscsi/iscsi_target.c ret = iscsit_send_logout(cmd, conn); conn 3709 drivers/target/iscsi/iscsi_target.c cmd, conn); conn 3712 drivers/target/iscsi/iscsi_target.c ret = iscsit_send_nopin(cmd, conn); conn 3715 drivers/target/iscsi/iscsi_target.c ret = iscsit_send_reject(cmd, conn); conn 3718 drivers/target/iscsi/iscsi_target.c ret = iscsit_send_task_mgt_rsp(cmd, conn); conn 3721 drivers/target/iscsi/iscsi_target.c ret = iscsit_tmr_post_handler(cmd, conn); conn 3723 drivers/target/iscsi/iscsi_target.c iscsit_fall_back_to_erl0(conn->sess); conn 3726 drivers/target/iscsi/iscsi_target.c ret = iscsit_send_text_rsp(cmd, conn); conn 3732 drivers/target/iscsi/iscsi_target.c state, conn->cid); conn 3740 drivers/target/iscsi/iscsi_target.c if (!iscsit_logout_post_handler(cmd, conn)) conn 3758 drivers/target/iscsi/iscsi_target.c cmd->i_state, conn->cid); conn 3762 drivers/target/iscsi/iscsi_target.c if (atomic_read(&conn->check_immediate_queue)) conn 3772 drivers/target/iscsi/iscsi_target.c static int iscsit_handle_response_queue(struct iscsi_conn *conn) conn 3774 drivers/target/iscsi/iscsi_target.c struct iscsit_transport *t = conn->conn_transport; conn 3780 drivers/target/iscsi/iscsi_target.c while ((qr = iscsit_get_cmd_from_response_queue(conn))) { conn 3785 drivers/target/iscsi/iscsi_target.c ret = t->iscsit_response_queue(conn, cmd, state); conn 3796 drivers/target/iscsi/iscsi_target.c struct iscsi_conn *conn = arg; conn 3810 drivers/target/iscsi/iscsi_target.c iscsit_thread_check_cpumask(conn, current, 1); conn 3812 drivers/target/iscsi/iscsi_target.c wait_event_interruptible(conn->queues_wq, conn 3813 drivers/target/iscsi/iscsi_target.c !iscsit_conn_all_queues_empty(conn)); conn 3819 drivers/target/iscsi/iscsi_target.c ret = iscsit_handle_immediate_queue(conn); conn 3823 drivers/target/iscsi/iscsi_target.c ret = iscsit_handle_response_queue(conn); conn 3840 drivers/target/iscsi/iscsi_target.c if (conn->conn_state != TARG_CONN_STATE_IN_LOGIN) conn 3841 drivers/target/iscsi/iscsi_target.c iscsit_take_action_for_connection_exit(conn, &conn_freed); conn 3851 drivers/target/iscsi/iscsi_target.c static int iscsi_target_rx_opcode(struct iscsi_conn *conn, unsigned char *buf) conn 3859 drivers/target/iscsi/iscsi_target.c cmd = iscsit_allocate_cmd(conn, TASK_INTERRUPTIBLE); conn 3863 drivers/target/iscsi/iscsi_target.c ret = iscsit_handle_scsi_cmd(conn, cmd, buf); conn 3866 drivers/target/iscsi/iscsi_target.c ret = iscsit_handle_data_out(conn, buf); conn 3871 drivers/target/iscsi/iscsi_target.c cmd = iscsit_allocate_cmd(conn, TASK_INTERRUPTIBLE); conn 3875 drivers/target/iscsi/iscsi_target.c ret = iscsit_handle_nop_out(conn, cmd, buf); conn 3878 drivers/target/iscsi/iscsi_target.c cmd = iscsit_allocate_cmd(conn, TASK_INTERRUPTIBLE); conn 3882 drivers/target/iscsi/iscsi_target.c ret = iscsit_handle_task_mgt_cmd(conn, cmd, buf); conn 3886 drivers/target/iscsi/iscsi_target.c cmd = iscsit_find_cmd_from_itt(conn, hdr->itt); conn 3890 drivers/target/iscsi/iscsi_target.c cmd = iscsit_allocate_cmd(conn, TASK_INTERRUPTIBLE); conn 3895 drivers/target/iscsi/iscsi_target.c ret = iscsit_handle_text_cmd(conn, cmd, buf); conn 3898 drivers/target/iscsi/iscsi_target.c cmd = iscsit_allocate_cmd(conn, TASK_INTERRUPTIBLE); conn 3902 drivers/target/iscsi/iscsi_target.c ret = iscsit_handle_logout_cmd(conn, cmd, buf); conn 3904 drivers/target/iscsi/iscsi_target.c wait_for_completion_timeout(&conn->conn_logout_comp, conn 3908 drivers/target/iscsi/iscsi_target.c ret = iscsit_handle_snack(conn, buf); conn 3912 drivers/target/iscsi/iscsi_target.c if (!conn->sess->sess_ops->ErrorRecoveryLevel) { conn 3925 drivers/target/iscsi/iscsi_target.c return iscsit_add_reject(conn, ISCSI_REASON_BOOKMARK_NO_RESOURCES, buf); conn 3928 drivers/target/iscsi/iscsi_target.c static bool iscsi_target_check_conn_state(struct iscsi_conn *conn) conn 3932 drivers/target/iscsi/iscsi_target.c spin_lock_bh(&conn->state_lock); conn 3933 drivers/target/iscsi/iscsi_target.c ret = (conn->conn_state != TARG_CONN_STATE_LOGGED_IN); conn 3934 drivers/target/iscsi/iscsi_target.c spin_unlock_bh(&conn->state_lock); conn 3939 drivers/target/iscsi/iscsi_target.c static void iscsit_get_rx_pdu(struct iscsi_conn *conn) conn 3955 drivers/target/iscsi/iscsi_target.c iscsit_thread_check_cpumask(conn, current, 0); conn 3962 drivers/target/iscsi/iscsi_target.c ret = rx_data(conn, &iov, 1, ISCSI_HDR_LEN); conn 3964 drivers/target/iscsi/iscsi_target.c iscsit_rx_thread_wait_for_tcp(conn); conn 3968 drivers/target/iscsi/iscsi_target.c if (conn->conn_ops->HeaderDigest) { conn 3972 drivers/target/iscsi/iscsi_target.c ret = rx_data(conn, &iov, 1, ISCSI_CRC_LEN); conn 3974 drivers/target/iscsi/iscsi_target.c iscsit_rx_thread_wait_for_tcp(conn); conn 3978 drivers/target/iscsi/iscsi_target.c iscsit_do_crypto_hash_buf(conn->conn_rx_hash, buffer, conn 3991 drivers/target/iscsi/iscsi_target.c atomic_long_inc(&conn->sess->conn_digest_errors); conn 3998 drivers/target/iscsi/iscsi_target.c if (conn->conn_state == TARG_CONN_STATE_IN_LOGOUT) conn 4003 drivers/target/iscsi/iscsi_target.c if (conn->sess->sess_ops->SessionType && conn 4008 drivers/target/iscsi/iscsi_target.c iscsit_add_reject(conn, ISCSI_REASON_PROTOCOL_ERROR, conn 4013 drivers/target/iscsi/iscsi_target.c ret = iscsi_target_rx_opcode(conn, buffer); conn 4024 drivers/target/iscsi/iscsi_target.c struct iscsi_conn *conn = arg; conn 4036 drivers/target/iscsi/iscsi_target.c rc = wait_for_completion_interruptible(&conn->rx_login_comp); conn 4037 drivers/target/iscsi/iscsi_target.c if (rc < 0 || iscsi_target_check_conn_state(conn)) conn 4040 drivers/target/iscsi/iscsi_target.c if (!conn->conn_transport->iscsit_get_rx_pdu) conn 4043 drivers/target/iscsi/iscsi_target.c conn->conn_transport->iscsit_get_rx_pdu(conn); conn 4046 drivers/target/iscsi/iscsi_target.c atomic_set(&conn->transport_failed, 1); conn 4047 drivers/target/iscsi/iscsi_target.c iscsit_take_action_for_connection_exit(conn, &conn_freed); conn 4059 drivers/target/iscsi/iscsi_target.c static void iscsit_release_commands_from_conn(struct iscsi_conn *conn) conn 4063 drivers/target/iscsi/iscsi_target.c struct iscsi_session *sess = conn->sess; conn 4069 drivers/target/iscsi/iscsi_target.c spin_lock_bh(&conn->cmd_lock); conn 4070 drivers/target/iscsi/iscsi_target.c list_splice_init(&conn->conn_cmd_list, &tmp_list); conn 4081 drivers/target/iscsi/iscsi_target.c spin_unlock_bh(&conn->cmd_lock); conn 4093 drivers/target/iscsi/iscsi_target.c struct iscsi_conn *conn) conn 4097 drivers/target/iscsi/iscsi_target.c spin_lock_bh(&conn->cmd_lock); conn 4098 drivers/target/iscsi/iscsi_target.c list_for_each_entry(cmd, &conn->conn_cmd_list, i_conn_node) { conn 4102 drivers/target/iscsi/iscsi_target.c spin_unlock_bh(&conn->cmd_lock); conn 4106 drivers/target/iscsi/iscsi_target.c struct iscsi_conn *conn) conn 4108 drivers/target/iscsi/iscsi_target.c int conn_logout = (conn->conn_state == TARG_CONN_STATE_IN_LOGOUT); conn 4109 drivers/target/iscsi/iscsi_target.c struct iscsi_session *sess = conn->sess; conn 4112 drivers/target/iscsi/iscsi_target.c " %u\n", conn->cid, sess->sid); conn 4124 drivers/target/iscsi/iscsi_target.c if (!conn->conn_transport->rdma_shutdown) conn 4125 drivers/target/iscsi/iscsi_target.c complete(&conn->conn_logout_comp); conn 4128 drivers/target/iscsi/iscsi_target.c if (conn->tx_thread && conn 4129 drivers/target/iscsi/iscsi_target.c cmpxchg(&conn->tx_thread_active, true, false)) { conn 4130 drivers/target/iscsi/iscsi_target.c send_sig(SIGINT, conn->tx_thread, 1); conn 4131 drivers/target/iscsi/iscsi_target.c kthread_stop(conn->tx_thread); conn 4134 drivers/target/iscsi/iscsi_target.c if (conn->rx_thread && conn 4135 drivers/target/iscsi/iscsi_target.c cmpxchg(&conn->rx_thread_active, true, false)) { conn 4136 drivers/target/iscsi/iscsi_target.c send_sig(SIGINT, conn->rx_thread, 1); conn 4137 drivers/target/iscsi/iscsi_target.c kthread_stop(conn->rx_thread); conn 4142 drivers/target/iscsi/iscsi_target.c bitmap_release_region(iscsit_global->ts_bitmap, conn->bitmap_id, conn 4146 drivers/target/iscsi/iscsi_target.c iscsit_stop_timers_for_cmds(conn); conn 4147 drivers/target/iscsi/iscsi_target.c iscsit_stop_nopin_response_timer(conn); conn 4148 drivers/target/iscsi/iscsi_target.c iscsit_stop_nopin_timer(conn); conn 4150 drivers/target/iscsi/iscsi_target.c if (conn->conn_transport->iscsit_wait_conn) conn 4151 drivers/target/iscsi/iscsi_target.c conn->conn_transport->iscsit_wait_conn(conn); conn 4162 drivers/target/iscsi/iscsi_target.c if (atomic_read(&conn->connection_recovery)) { conn 4163 drivers/target/iscsi/iscsi_target.c iscsit_discard_unacknowledged_ooo_cmdsns_for_conn(conn); conn 4164 drivers/target/iscsi/iscsi_target.c iscsit_prepare_cmds_for_reallegiance(conn); conn 4166 drivers/target/iscsi/iscsi_target.c iscsit_clear_ooo_cmdsns_for_conn(conn); conn 4167 drivers/target/iscsi/iscsi_target.c iscsit_release_commands_from_conn(conn); conn 4169 drivers/target/iscsi/iscsi_target.c iscsit_free_queue_reqs_for_conn(conn); conn 4176 drivers/target/iscsi/iscsi_target.c if (atomic_read(&conn->conn_logout_remove)) { conn 4177 drivers/target/iscsi/iscsi_target.c if (conn->conn_logout_reason == ISCSI_LOGOUT_REASON_CLOSE_SESSION) { conn 4178 drivers/target/iscsi/iscsi_target.c iscsit_dec_conn_usage_count(conn); conn 4181 drivers/target/iscsi/iscsi_target.c if (conn->conn_logout_reason == ISCSI_LOGOUT_REASON_CLOSE_CONNECTION) conn 4182 drivers/target/iscsi/iscsi_target.c iscsit_dec_conn_usage_count(conn); conn 4184 drivers/target/iscsi/iscsi_target.c atomic_set(&conn->conn_logout_remove, 0); conn 4190 drivers/target/iscsi/iscsi_target.c list_del(&conn->conn_list); conn 4197 drivers/target/iscsi/iscsi_target.c if (atomic_read(&conn->connection_recovery)) conn 4198 drivers/target/iscsi/iscsi_target.c iscsit_build_conn_drop_async_message(conn); conn 4207 drivers/target/iscsi/iscsi_target.c spin_lock_bh(&conn->state_lock); conn 4208 drivers/target/iscsi/iscsi_target.c if (atomic_read(&conn->sleep_on_conn_wait_comp)) { conn 4209 drivers/target/iscsi/iscsi_target.c spin_unlock_bh(&conn->state_lock); conn 4210 drivers/target/iscsi/iscsi_target.c complete(&conn->conn_wait_comp); conn 4211 drivers/target/iscsi/iscsi_target.c wait_for_completion(&conn->conn_post_wait_comp); conn 4212 drivers/target/iscsi/iscsi_target.c spin_lock_bh(&conn->state_lock); conn 4221 drivers/target/iscsi/iscsi_target.c if (atomic_read(&conn->connection_wait_rcfr)) { conn 4222 drivers/target/iscsi/iscsi_target.c spin_unlock_bh(&conn->state_lock); conn 4223 drivers/target/iscsi/iscsi_target.c complete(&conn->conn_wait_rcfr_comp); conn 4224 drivers/target/iscsi/iscsi_target.c wait_for_completion(&conn->conn_post_wait_comp); conn 4225 drivers/target/iscsi/iscsi_target.c spin_lock_bh(&conn->state_lock); conn 4227 drivers/target/iscsi/iscsi_target.c atomic_set(&conn->connection_reinstatement, 1); conn 4228 drivers/target/iscsi/iscsi_target.c spin_unlock_bh(&conn->state_lock); conn 4234 drivers/target/iscsi/iscsi_target.c iscsit_check_conn_usage_count(conn); conn 4236 drivers/target/iscsi/iscsi_target.c ahash_request_free(conn->conn_tx_hash); conn 4237 drivers/target/iscsi/iscsi_target.c if (conn->conn_rx_hash) { conn 4240 drivers/target/iscsi/iscsi_target.c tfm = crypto_ahash_reqtfm(conn->conn_rx_hash); conn 4241 drivers/target/iscsi/iscsi_target.c ahash_request_free(conn->conn_rx_hash); conn 4245 drivers/target/iscsi/iscsi_target.c if (conn->sock) conn 4246 drivers/target/iscsi/iscsi_target.c sock_release(conn->sock); conn 4248 drivers/target/iscsi/iscsi_target.c if (conn->conn_transport->iscsit_free_conn) conn 4249 drivers/target/iscsi/iscsi_target.c conn->conn_transport->iscsit_free_conn(conn); conn 4252 drivers/target/iscsi/iscsi_target.c conn->conn_state = TARG_CONN_STATE_FREE; conn 4253 drivers/target/iscsi/iscsi_target.c iscsit_free_conn(conn); conn 4419 drivers/target/iscsi/iscsi_target.c struct iscsi_conn *conn) conn 4421 drivers/target/iscsi/iscsi_target.c struct iscsi_session *sess = conn->sess; conn 4432 drivers/target/iscsi/iscsi_target.c if (!conn->conn_transport->rdma_shutdown) { conn 4433 drivers/target/iscsi/iscsi_target.c sleep = cmpxchg(&conn->tx_thread_active, true, false); conn 4438 drivers/target/iscsi/iscsi_target.c atomic_set(&conn->conn_logout_remove, 0); conn 4439 drivers/target/iscsi/iscsi_target.c complete(&conn->conn_logout_comp); conn 4441 drivers/target/iscsi/iscsi_target.c iscsit_dec_conn_usage_count(conn); conn 4448 drivers/target/iscsi/iscsi_target.c struct iscsi_conn *conn) conn 4452 drivers/target/iscsi/iscsi_target.c if (!conn->conn_transport->rdma_shutdown) { conn 4453 drivers/target/iscsi/iscsi_target.c sleep = cmpxchg(&conn->tx_thread_active, true, false); conn 4458 drivers/target/iscsi/iscsi_target.c atomic_set(&conn->conn_logout_remove, 0); conn 4459 drivers/target/iscsi/iscsi_target.c complete(&conn->conn_logout_comp); conn 4461 drivers/target/iscsi/iscsi_target.c iscsit_cause_connection_reinstatement(conn, sleep); conn 4462 drivers/target/iscsi/iscsi_target.c iscsit_dec_conn_usage_count(conn); conn 4466 drivers/target/iscsi/iscsi_target.c struct iscsi_conn *conn, conn 4470 drivers/target/iscsi/iscsi_target.c struct iscsi_session *sess = conn->sess; conn 4506 drivers/target/iscsi/iscsi_target.c struct iscsi_conn *conn) conn 4516 drivers/target/iscsi/iscsi_target.c iscsit_logout_post_handler_closesession(conn); conn 4522 drivers/target/iscsi/iscsi_target.c if (conn->cid == cmd->logout_cid) { conn 4527 drivers/target/iscsi/iscsi_target.c iscsit_logout_post_handler_samecid(conn); conn 4534 drivers/target/iscsi/iscsi_target.c iscsit_logout_post_handler_diffcid(conn, conn 4566 drivers/target/iscsi/iscsi_target.c struct iscsi_conn *conn; conn 4569 drivers/target/iscsi/iscsi_target.c list_for_each_entry(conn, &sess->sess_conn_list, conn_list) { conn 4571 drivers/target/iscsi/iscsi_target.c conn->conn_state = TARG_CONN_STATE_CLEANUP_WAIT; conn 4585 drivers/target/iscsi/iscsi_target.c struct iscsi_conn *conn, *conn_tmp = NULL; conn 4591 drivers/target/iscsi/iscsi_target.c list_for_each_entry_safe(conn, conn_tmp, &sess->sess_conn_list, conn 4596 drivers/target/iscsi/iscsi_target.c if (list_is_last(&conn->conn_list, &sess->sess_conn_list)) { conn 4602 drivers/target/iscsi/iscsi_target.c iscsit_inc_conn_usage_count(conn); conn 4605 drivers/target/iscsi/iscsi_target.c iscsit_cause_connection_reinstatement(conn, 1); conn 4608 drivers/target/iscsi/iscsi_target.c iscsit_dec_conn_usage_count(conn); conn 4614 drivers/target/iscsi/iscsi_target.c list_for_each_entry(conn, &sess->sess_conn_list, conn_list) conn 4615 drivers/target/iscsi/iscsi_target.c iscsit_cause_connection_reinstatement(conn, 0); conn 22 drivers/target/iscsi/iscsi_target_auth.c struct iscsi_conn *conn, conn 29 drivers/target/iscsi/iscsi_target_auth.c struct iscsi_chap *chap = conn->auth_protocol; conn 84 drivers/target/iscsi/iscsi_target_auth.c static void chap_close(struct iscsi_conn *conn) conn 86 drivers/target/iscsi/iscsi_target_auth.c kfree(conn->auth_protocol); conn 87 drivers/target/iscsi/iscsi_target_auth.c conn->auth_protocol = NULL; conn 91 drivers/target/iscsi/iscsi_target_auth.c struct iscsi_conn *conn, conn 107 drivers/target/iscsi/iscsi_target_auth.c conn->auth_protocol = kzalloc(sizeof(struct iscsi_chap), GFP_KERNEL); conn 108 drivers/target/iscsi/iscsi_target_auth.c if (!conn->auth_protocol) conn 111 drivers/target/iscsi/iscsi_target_auth.c chap = conn->auth_protocol; conn 127 drivers/target/iscsi/iscsi_target_auth.c chap_close(conn); conn 134 drivers/target/iscsi/iscsi_target_auth.c chap->id = conn->tpg->tpg_chap_id++; conn 141 drivers/target/iscsi/iscsi_target_auth.c if (chap_gen_challenge(conn, 1, aic_str, aic_len) < 0) { conn 142 drivers/target/iscsi/iscsi_target_auth.c chap_close(conn); conn 150 drivers/target/iscsi/iscsi_target_auth.c struct iscsi_conn *conn, conn 166 drivers/target/iscsi/iscsi_target_auth.c struct iscsi_chap *chap = conn->auth_protocol; conn 412 drivers/target/iscsi/iscsi_target_auth.c struct iscsi_conn *conn, conn 418 drivers/target/iscsi/iscsi_target_auth.c struct iscsi_chap *chap = conn->auth_protocol; conn 422 drivers/target/iscsi/iscsi_target_auth.c if (chap_server_compute_md5(conn, auth, nr_in_ptr, conn 434 drivers/target/iscsi/iscsi_target_auth.c struct iscsi_conn *conn, conn 441 drivers/target/iscsi/iscsi_target_auth.c struct iscsi_chap *chap = conn->auth_protocol; conn 444 drivers/target/iscsi/iscsi_target_auth.c chap = chap_server_open(conn, auth, in_text, out_text, out_len); conn 451 drivers/target/iscsi/iscsi_target_auth.c if (chap_got_response(conn, auth, in_text, out_text, conn 453 drivers/target/iscsi/iscsi_target_auth.c chap_close(conn); conn 460 drivers/target/iscsi/iscsi_target_auth.c chap_close(conn); conn 503 drivers/target/iscsi/iscsi_target_configfs.c struct iscsi_conn *conn; conn 565 drivers/target/iscsi/iscsi_target_configfs.c list_for_each_entry(conn, &sess->sess_conn_list, conn_list) { conn 567 drivers/target/iscsi/iscsi_target_configfs.c " State: ", conn->cid); conn 568 drivers/target/iscsi/iscsi_target_configfs.c switch (conn->conn_state) { conn 603 drivers/target/iscsi/iscsi_target_configfs.c rb += sprintf(page+rb, " Address %pISc %s", &conn->login_sockaddr, conn 604 drivers/target/iscsi/iscsi_target_configfs.c (conn->network_transport == ISCSI_TCP) ? conn 607 drivers/target/iscsi/iscsi_target_configfs.c conn->stat_sn); conn 1367 drivers/target/iscsi/iscsi_target_configfs.c struct iscsi_conn *conn = cmd->conn; conn 1370 drivers/target/iscsi/iscsi_target_configfs.c return conn->conn_transport->iscsit_queue_data_in(conn, cmd); conn 1376 drivers/target/iscsi/iscsi_target_configfs.c struct iscsi_conn *conn = cmd->conn; conn 1379 drivers/target/iscsi/iscsi_target_configfs.c return conn->conn_transport->iscsit_get_dataout(conn, cmd, false); conn 1387 drivers/target/iscsi/iscsi_target_configfs.c struct iscsi_conn *conn = cmd->conn; conn 1392 drivers/target/iscsi/iscsi_target_configfs.c return iscsit_add_cmd_to_response_queue(cmd, conn, cmd->i_state); conn 1394 drivers/target/iscsi/iscsi_target_configfs.c return conn->conn_transport->iscsit_queue_status(conn, cmd); conn 1402 drivers/target/iscsi/iscsi_target_configfs.c iscsit_add_cmd_to_response_queue(cmd, cmd->conn, cmd->i_state); conn 1409 drivers/target/iscsi/iscsi_target_configfs.c cmd->conn->conn_transport->iscsit_aborted_task(cmd->conn, cmd); conn 83 drivers/target/iscsi/iscsi_target_datain_values.c struct iscsi_conn *conn = cmd->conn; conn 110 drivers/target/iscsi/iscsi_target_datain_values.c if ((read_data_left <= conn->conn_ops->MaxRecvDataSegmentLength) && conn 111 drivers/target/iscsi/iscsi_target_datain_values.c (read_data_left <= (conn->sess->sess_ops->MaxBurstLength - conn 116 drivers/target/iscsi/iscsi_target_datain_values.c if (conn->sess->sess_ops->ErrorRecoveryLevel > 0) conn 120 drivers/target/iscsi/iscsi_target_datain_values.c conn->conn_ops->MaxRecvDataSegmentLength) < conn 121 drivers/target/iscsi/iscsi_target_datain_values.c conn->sess->sess_ops->MaxBurstLength) { conn 123 drivers/target/iscsi/iscsi_target_datain_values.c conn->conn_ops->MaxRecvDataSegmentLength; conn 126 drivers/target/iscsi/iscsi_target_datain_values.c datain->length = (conn->sess->sess_ops->MaxBurstLength - conn 131 drivers/target/iscsi/iscsi_target_datain_values.c if (conn->sess->sess_ops->ErrorRecoveryLevel > 0) conn 181 drivers/target/iscsi/iscsi_target_datain_values.c struct iscsi_conn *conn = cmd->conn; conn 220 drivers/target/iscsi/iscsi_target_datain_values.c if ((offset + conn->conn_ops->MaxRecvDataSegmentLength) >= conn 226 drivers/target/iscsi/iscsi_target_datain_values.c if (conn->sess->sess_ops->ErrorRecoveryLevel > 0) conn 233 drivers/target/iscsi/iscsi_target_datain_values.c conn->conn_ops->MaxRecvDataSegmentLength) < conn 234 drivers/target/iscsi/iscsi_target_datain_values.c conn->sess->sess_ops->MaxBurstLength) { conn 236 drivers/target/iscsi/iscsi_target_datain_values.c conn->conn_ops->MaxRecvDataSegmentLength; conn 241 drivers/target/iscsi/iscsi_target_datain_values.c datain->length = (conn->sess->sess_ops->MaxBurstLength - conn 246 drivers/target/iscsi/iscsi_target_datain_values.c if (conn->sess->sess_ops->ErrorRecoveryLevel > 0) conn 302 drivers/target/iscsi/iscsi_target_datain_values.c struct iscsi_conn *conn = cmd->conn; conn 336 drivers/target/iscsi/iscsi_target_datain_values.c if (conn->sess->sess_ops->ErrorRecoveryLevel > 0) conn 341 drivers/target/iscsi/iscsi_target_datain_values.c if ((next_burst_len + conn->conn_ops->MaxRecvDataSegmentLength) < conn 342 drivers/target/iscsi/iscsi_target_datain_values.c conn->sess->sess_ops->MaxBurstLength) conn 346 drivers/target/iscsi/iscsi_target_datain_values.c if (conn->sess->sess_ops->ErrorRecoveryLevel > 0) conn 401 drivers/target/iscsi/iscsi_target_datain_values.c struct iscsi_conn *conn = cmd->conn; conn 445 drivers/target/iscsi/iscsi_target_datain_values.c if (conn->sess->sess_ops->ErrorRecoveryLevel > 0) conn 502 drivers/target/iscsi/iscsi_target_datain_values.c struct iscsi_conn *conn = cmd->conn; conn 504 drivers/target/iscsi/iscsi_target_datain_values.c if (conn->sess->sess_ops->DataSequenceInOrder && conn 505 drivers/target/iscsi/iscsi_target_datain_values.c conn->sess->sess_ops->DataPDUInOrder) conn 507 drivers/target/iscsi/iscsi_target_datain_values.c else if (!conn->sess->sess_ops->DataSequenceInOrder && conn 508 drivers/target/iscsi/iscsi_target_datain_values.c conn->sess->sess_ops->DataPDUInOrder) conn 510 drivers/target/iscsi/iscsi_target_datain_values.c else if (conn->sess->sess_ops->DataSequenceInOrder && conn 511 drivers/target/iscsi/iscsi_target_datain_values.c !conn->sess->sess_ops->DataPDUInOrder) conn 513 drivers/target/iscsi/iscsi_target_datain_values.c else if (!conn->sess->sess_ops->DataSequenceInOrder && conn 514 drivers/target/iscsi/iscsi_target_datain_values.c !conn->sess->sess_ops->DataPDUInOrder) conn 34 drivers/target/iscsi/iscsi_target_erl0.c struct iscsi_conn *conn = cmd->conn; conn 42 drivers/target/iscsi/iscsi_target_erl0.c conn->sess->sess_ops->FirstBurstLength); conn 46 drivers/target/iscsi/iscsi_target_erl0.c if (!conn->sess->sess_ops->DataSequenceInOrder) conn 52 drivers/target/iscsi/iscsi_target_erl0.c conn->sess->sess_ops->MaxBurstLength) ? conn 54 drivers/target/iscsi/iscsi_target_erl0.c conn->sess->sess_ops->MaxBurstLength) : cmd->se_cmd.data_length; conn 58 drivers/target/iscsi/iscsi_target_erl0.c conn->sess->sess_ops->MaxBurstLength) >= conn 61 drivers/target/iscsi/iscsi_target_erl0.c conn->sess->sess_ops->MaxBurstLength); conn 69 drivers/target/iscsi/iscsi_target_erl0.c struct iscsi_conn *conn = cmd->conn; conn 85 drivers/target/iscsi/iscsi_target_erl0.c if (conn->sess->sess_ops->DataSequenceInOrder) { conn 103 drivers/target/iscsi/iscsi_target_erl0.c if (conn->sess->sess_ops->DataPDUInOrder) { conn 128 drivers/target/iscsi/iscsi_target_erl0.c return iscsit_dump_data_payload(conn, payload_length, 1); conn 136 drivers/target/iscsi/iscsi_target_erl0.c struct iscsi_conn *conn = cmd->conn; conn 153 drivers/target/iscsi/iscsi_target_erl0.c if (first_burst_len > conn->sess->sess_ops->FirstBurstLength) { conn 156 drivers/target/iscsi/iscsi_target_erl0.c first_burst_len, conn->sess->sess_ops->FirstBurstLength); conn 172 drivers/target/iscsi/iscsi_target_erl0.c if (!conn->sess->sess_ops->DataPDUInOrder) conn 176 drivers/target/iscsi/iscsi_target_erl0.c (first_burst_len != conn->sess->sess_ops->FirstBurstLength)) { conn 180 drivers/target/iscsi/iscsi_target_erl0.c conn->sess->sess_ops->FirstBurstLength, conn 187 drivers/target/iscsi/iscsi_target_erl0.c if (first_burst_len == conn->sess->sess_ops->FirstBurstLength) { conn 191 drivers/target/iscsi/iscsi_target_erl0.c conn->sess->sess_ops->FirstBurstLength); conn 211 drivers/target/iscsi/iscsi_target_erl0.c struct iscsi_conn *conn = cmd->conn; conn 223 drivers/target/iscsi/iscsi_target_erl0.c if (conn->sess->sess_ops->DataSequenceInOrder) { conn 237 drivers/target/iscsi/iscsi_target_erl0.c if (iscsit_dump_data_payload(conn, payload_length, 1) < 0) conn 254 drivers/target/iscsi/iscsi_target_erl0.c if (iscsit_dump_data_payload(conn, payload_length, 1) < 0) conn 262 drivers/target/iscsi/iscsi_target_erl0.c if (next_burst_len > conn->sess->sess_ops->MaxBurstLength) { conn 267 drivers/target/iscsi/iscsi_target_erl0.c payload_length, conn->sess->sess_ops->MaxBurstLength); conn 281 drivers/target/iscsi/iscsi_target_erl0.c if (!conn->sess->sess_ops->DataPDUInOrder) conn 284 drivers/target/iscsi/iscsi_target_erl0.c if (conn->sess->sess_ops->DataSequenceInOrder) { conn 286 drivers/target/iscsi/iscsi_target_erl0.c conn->sess->sess_ops->MaxBurstLength) && conn 303 drivers/target/iscsi/iscsi_target_erl0.c if (conn->sess->sess_ops->DataSequenceInOrder) { conn 305 drivers/target/iscsi/iscsi_target_erl0.c conn->sess->sess_ops->MaxBurstLength) { conn 309 drivers/target/iscsi/iscsi_target_erl0.c conn->sess->sess_ops->MaxBurstLength); conn 340 drivers/target/iscsi/iscsi_target_erl0.c struct iscsi_conn *conn = cmd->conn; conn 352 drivers/target/iscsi/iscsi_target_erl0.c if (conn->sess->sess_ops->DataSequenceInOrder) conn 374 drivers/target/iscsi/iscsi_target_erl0.c if (!conn->sess->sess_ops->ErrorRecoveryLevel) { conn 380 drivers/target/iscsi/iscsi_target_erl0.c if (iscsit_dump_data_payload(conn, payload_length, 1) < 0) conn 391 drivers/target/iscsi/iscsi_target_erl0.c struct iscsi_conn *conn = cmd->conn; conn 404 drivers/target/iscsi/iscsi_target_erl0.c if (conn->sess->sess_ops->DataSequenceInOrder) { conn 434 drivers/target/iscsi/iscsi_target_erl0.c if (!conn->sess->sess_ops->ErrorRecoveryLevel) { conn 440 drivers/target/iscsi/iscsi_target_erl0.c if (iscsit_dump_data_payload(conn, payload_length, 1) < 0) conn 472 drivers/target/iscsi/iscsi_target_erl0.c return iscsit_dump_data_payload(cmd->conn, payload_length, 1); conn 537 drivers/target/iscsi/iscsi_target_erl0.c struct iscsi_conn *conn = cmd->conn; conn 544 drivers/target/iscsi/iscsi_target_erl0.c conn->sess->sess_ops->FirstBurstLength) { conn 551 drivers/target/iscsi/iscsi_target_erl0.c if (!conn->sess->sess_ops->DataPDUInOrder) { conn 561 drivers/target/iscsi/iscsi_target_erl0.c if (conn->sess->sess_ops->DataSequenceInOrder) conn 576 drivers/target/iscsi/iscsi_target_erl0.c if (conn->sess->sess_ops->DataSequenceInOrder) { conn 578 drivers/target/iscsi/iscsi_target_erl0.c conn->sess->sess_ops->MaxBurstLength) { conn 586 drivers/target/iscsi/iscsi_target_erl0.c if (!conn->sess->sess_ops->DataPDUInOrder) { conn 611 drivers/target/iscsi/iscsi_target_erl0.c if (!conn->sess->sess_ops->DataPDUInOrder) { conn 630 drivers/target/iscsi/iscsi_target_erl0.c if (send_r2t && conn->sess->sess_ops->DataSequenceInOrder) conn 647 drivers/target/iscsi/iscsi_target_erl0.c struct iscsi_conn *conn = cmd->conn; conn 652 drivers/target/iscsi/iscsi_target_erl0.c if (conn->sess->sess_ops->DataPDUInOrder) conn 686 drivers/target/iscsi/iscsi_target_erl0.c struct iscsi_conn *conn = cmd->conn; conn 710 drivers/target/iscsi/iscsi_target_erl0.c return (conn->sess->sess_ops->DataPDUInOrder) ? conn 724 drivers/target/iscsi/iscsi_target_erl0.c struct iscsi_conn *conn = cmd->conn; conn 731 drivers/target/iscsi/iscsi_target_erl0.c if (!conn->sess->sess_ops->ErrorRecoveryLevel) { conn 822 drivers/target/iscsi/iscsi_target_erl0.c void iscsit_connection_reinstatement_rcfr(struct iscsi_conn *conn) conn 824 drivers/target/iscsi/iscsi_target_erl0.c spin_lock_bh(&conn->state_lock); conn 825 drivers/target/iscsi/iscsi_target_erl0.c if (atomic_read(&conn->connection_exit)) { conn 826 drivers/target/iscsi/iscsi_target_erl0.c spin_unlock_bh(&conn->state_lock); conn 830 drivers/target/iscsi/iscsi_target_erl0.c if (atomic_read(&conn->transport_failed)) { conn 831 drivers/target/iscsi/iscsi_target_erl0.c spin_unlock_bh(&conn->state_lock); conn 834 drivers/target/iscsi/iscsi_target_erl0.c spin_unlock_bh(&conn->state_lock); conn 836 drivers/target/iscsi/iscsi_target_erl0.c if (conn->tx_thread && conn->tx_thread_active) conn 837 drivers/target/iscsi/iscsi_target_erl0.c send_sig(SIGINT, conn->tx_thread, 1); conn 838 drivers/target/iscsi/iscsi_target_erl0.c if (conn->rx_thread && conn->rx_thread_active) conn 839 drivers/target/iscsi/iscsi_target_erl0.c send_sig(SIGINT, conn->rx_thread, 1); conn 842 drivers/target/iscsi/iscsi_target_erl0.c wait_for_completion(&conn->conn_wait_rcfr_comp); conn 843 drivers/target/iscsi/iscsi_target_erl0.c complete(&conn->conn_post_wait_comp); conn 846 drivers/target/iscsi/iscsi_target_erl0.c void iscsit_cause_connection_reinstatement(struct iscsi_conn *conn, int sleep) conn 848 drivers/target/iscsi/iscsi_target_erl0.c spin_lock_bh(&conn->state_lock); conn 849 drivers/target/iscsi/iscsi_target_erl0.c if (atomic_read(&conn->connection_exit)) { conn 850 drivers/target/iscsi/iscsi_target_erl0.c spin_unlock_bh(&conn->state_lock); conn 854 drivers/target/iscsi/iscsi_target_erl0.c if (atomic_read(&conn->transport_failed)) { conn 855 drivers/target/iscsi/iscsi_target_erl0.c spin_unlock_bh(&conn->state_lock); conn 859 drivers/target/iscsi/iscsi_target_erl0.c if (atomic_read(&conn->connection_reinstatement)) { conn 860 drivers/target/iscsi/iscsi_target_erl0.c spin_unlock_bh(&conn->state_lock); conn 864 drivers/target/iscsi/iscsi_target_erl0.c if (conn->tx_thread && conn->tx_thread_active) conn 865 drivers/target/iscsi/iscsi_target_erl0.c send_sig(SIGINT, conn->tx_thread, 1); conn 866 drivers/target/iscsi/iscsi_target_erl0.c if (conn->rx_thread && conn->rx_thread_active) conn 867 drivers/target/iscsi/iscsi_target_erl0.c send_sig(SIGINT, conn->rx_thread, 1); conn 869 drivers/target/iscsi/iscsi_target_erl0.c atomic_set(&conn->connection_reinstatement, 1); conn 871 drivers/target/iscsi/iscsi_target_erl0.c spin_unlock_bh(&conn->state_lock); conn 875 drivers/target/iscsi/iscsi_target_erl0.c atomic_set(&conn->sleep_on_conn_wait_comp, 1); conn 876 drivers/target/iscsi/iscsi_target_erl0.c spin_unlock_bh(&conn->state_lock); conn 878 drivers/target/iscsi/iscsi_target_erl0.c wait_for_completion(&conn->conn_wait_comp); conn 879 drivers/target/iscsi/iscsi_target_erl0.c complete(&conn->conn_post_wait_comp); conn 891 drivers/target/iscsi/iscsi_target_erl0.c static void iscsit_handle_connection_cleanup(struct iscsi_conn *conn) conn 893 drivers/target/iscsi/iscsi_target_erl0.c struct iscsi_session *sess = conn->sess; conn 898 drivers/target/iscsi/iscsi_target_erl0.c iscsit_connection_recovery_transport_reset(conn); conn 901 drivers/target/iscsi/iscsi_target_erl0.c " Connection ID: %hu from %s\n", conn->cid, conn 903 drivers/target/iscsi/iscsi_target_erl0.c iscsit_close_connection(conn); conn 907 drivers/target/iscsi/iscsi_target_erl0.c void iscsit_take_action_for_connection_exit(struct iscsi_conn *conn, bool *conn_freed) conn 911 drivers/target/iscsi/iscsi_target_erl0.c spin_lock_bh(&conn->state_lock); conn 912 drivers/target/iscsi/iscsi_target_erl0.c if (atomic_read(&conn->connection_exit)) { conn 913 drivers/target/iscsi/iscsi_target_erl0.c spin_unlock_bh(&conn->state_lock); conn 916 drivers/target/iscsi/iscsi_target_erl0.c atomic_set(&conn->connection_exit, 1); conn 918 drivers/target/iscsi/iscsi_target_erl0.c if (conn->conn_state == TARG_CONN_STATE_IN_LOGOUT) { conn 919 drivers/target/iscsi/iscsi_target_erl0.c spin_unlock_bh(&conn->state_lock); conn 920 drivers/target/iscsi/iscsi_target_erl0.c iscsit_close_connection(conn); conn 925 drivers/target/iscsi/iscsi_target_erl0.c if (conn->conn_state == TARG_CONN_STATE_CLEANUP_WAIT) { conn 926 drivers/target/iscsi/iscsi_target_erl0.c spin_unlock_bh(&conn->state_lock); conn 931 drivers/target/iscsi/iscsi_target_erl0.c conn->conn_state = TARG_CONN_STATE_CLEANUP_WAIT; conn 932 drivers/target/iscsi/iscsi_target_erl0.c spin_unlock_bh(&conn->state_lock); conn 934 drivers/target/iscsi/iscsi_target_erl0.c iscsit_handle_connection_cleanup(conn); conn 39 drivers/target/iscsi/iscsi_target_erl1.c struct iscsi_conn *conn, conn 48 drivers/target/iscsi/iscsi_target_erl1.c if (conn->sess->sess_ops->RDMAExtensions) conn 53 drivers/target/iscsi/iscsi_target_erl1.c if (conn->conn_ops->DataDigest) conn 73 drivers/target/iscsi/iscsi_target_erl1.c rx_got = rx_data(conn, &iov, 1, size); conn 106 drivers/target/iscsi/iscsi_target_erl1.c iscsit_add_cmd_to_immediate_queue(cmd, cmd->conn, ISTATE_SEND_R2T); conn 176 drivers/target/iscsi/iscsi_target_erl1.c struct iscsi_conn *conn = cmd->conn; conn 181 drivers/target/iscsi/iscsi_target_erl1.c conn->conn_ops->MaxRecvDataSegmentLength) < conn 182 drivers/target/iscsi/iscsi_target_erl1.c conn->sess->sess_ops->MaxBurstLength) { conn 184 drivers/target/iscsi/iscsi_target_erl1.c conn->conn_ops->MaxRecvDataSegmentLength; conn 186 drivers/target/iscsi/iscsi_target_erl1.c conn->conn_ops->MaxRecvDataSegmentLength; conn 189 drivers/target/iscsi/iscsi_target_erl1.c (conn->sess->sess_ops->MaxBurstLength - conn 198 drivers/target/iscsi/iscsi_target_erl1.c if (!conn->sess->sess_ops->DataPDUInOrder) { conn 223 drivers/target/iscsi/iscsi_target_erl1.c struct iscsi_conn *conn = cmd->conn; conn 299 drivers/target/iscsi/iscsi_target_erl1.c if (conn->sess->sess_ops->DataPDUInOrder) { conn 303 drivers/target/iscsi/iscsi_target_erl1.c conn->conn_ops->MaxRecvDataSegmentLength; conn 305 drivers/target/iscsi/iscsi_target_erl1.c conn->conn_ops->MaxRecvDataSegmentLength; conn 362 drivers/target/iscsi/iscsi_target_erl1.c (conn->sess->sess_ops->DataPDUInOrder) ? "Yes" : "No"); conn 379 drivers/target/iscsi/iscsi_target_erl1.c struct iscsi_conn *conn = cmd->conn; conn 429 drivers/target/iscsi/iscsi_target_erl1.c iscsit_add_cmd_to_response_queue(cmd, conn, cmd->i_state); conn 435 drivers/target/iscsi/iscsi_target_erl1.c struct iscsi_conn *conn, conn 444 drivers/target/iscsi/iscsi_target_erl1.c cmd = iscsit_find_cmd_from_itt(conn, init_task_tag); conn 468 drivers/target/iscsi/iscsi_target_erl1.c struct iscsi_conn *conn, conn 479 drivers/target/iscsi/iscsi_target_erl1.c begrun = conn->exp_statsn; conn 480 drivers/target/iscsi/iscsi_target_erl1.c } else if (conn->exp_statsn > begrun) { conn 483 drivers/target/iscsi/iscsi_target_erl1.c " %hu.\n", begrun, runlength, conn->exp_statsn, conn 484 drivers/target/iscsi/iscsi_target_erl1.c conn->cid); conn 488 drivers/target/iscsi/iscsi_target_erl1.c last_statsn = (!runlength) ? conn->stat_sn : (begrun + runlength); conn 493 drivers/target/iscsi/iscsi_target_erl1.c spin_lock_bh(&conn->cmd_lock); conn 494 drivers/target/iscsi/iscsi_target_erl1.c list_for_each_entry(cmd, &conn->conn_cmd_list, i_conn_node) { conn 500 drivers/target/iscsi/iscsi_target_erl1.c spin_unlock_bh(&conn->cmd_lock); conn 524 drivers/target/iscsi/iscsi_target_erl1.c iscsit_add_cmd_to_response_queue(cmd, conn, cmd->i_state); conn 532 drivers/target/iscsi/iscsi_target_erl1.c struct iscsi_conn *conn, conn 539 drivers/target/iscsi/iscsi_target_erl1.c cmd = iscsit_find_cmd_from_ttt(conn, targ_xfer_tag); conn 587 drivers/target/iscsi/iscsi_target_erl1.c struct iscsi_conn *conn = cmd->conn; conn 594 drivers/target/iscsi/iscsi_target_erl1.c if (conn->sess->sess_ops->DataSequenceInOrder) { conn 665 drivers/target/iscsi/iscsi_target_erl1.c struct iscsi_conn *conn = cmd->conn; conn 668 drivers/target/iscsi/iscsi_target_erl1.c if (conn->sess->sess_ops->DataSequenceInOrder) { conn 671 drivers/target/iscsi/iscsi_target_erl1.c if (conn->sess->sess_ops->DataPDUInOrder) { conn 718 drivers/target/iscsi/iscsi_target_erl1.c if (conn->sess->sess_ops->DataPDUInOrder) conn 828 drivers/target/iscsi/iscsi_target_erl1.c void iscsit_clear_ooo_cmdsns_for_conn(struct iscsi_conn *conn) conn 831 drivers/target/iscsi/iscsi_target_erl1.c struct iscsi_session *sess = conn->sess; conn 835 drivers/target/iscsi/iscsi_target_erl1.c if (ooo_cmdsn->cid != conn->cid) conn 892 drivers/target/iscsi/iscsi_target_erl1.c struct iscsi_conn *conn = cmd->conn; conn 909 drivers/target/iscsi/iscsi_target_erl1.c iscsit_add_cmd_to_response_queue(cmd, cmd->conn, conn 937 drivers/target/iscsi/iscsi_target_erl1.c conn->conn_transport->iscsit_get_dataout(conn, cmd, false); conn 958 drivers/target/iscsi/iscsi_target_erl1.c iscsit_add_cmd_to_response_queue(cmd, cmd->conn, cmd->i_state); conn 963 drivers/target/iscsi/iscsi_target_erl1.c iscsit_add_cmd_to_response_queue(cmd, cmd->conn, conn 974 drivers/target/iscsi/iscsi_target_erl1.c lr = iscsit_logout_closesession(cmd, cmd->conn); conn 977 drivers/target/iscsi/iscsi_target_erl1.c lr = iscsit_logout_closeconnection(cmd, cmd->conn); conn 980 drivers/target/iscsi/iscsi_target_erl1.c lr = iscsit_logout_removeconnforrecovery(cmd, cmd->conn); conn 1041 drivers/target/iscsi/iscsi_target_erl1.c ooo_cmdsn->cid = cmd->conn->cid; conn 1058 drivers/target/iscsi/iscsi_target_erl1.c struct iscsi_conn *conn = cmd->conn; conn 1063 drivers/target/iscsi/iscsi_target_erl1.c *length = (conn->sess->sess_ops->FirstBurstLength > conn 1066 drivers/target/iscsi/iscsi_target_erl1.c conn->sess->sess_ops->FirstBurstLength; conn 1101 drivers/target/iscsi/iscsi_target_erl1.c struct iscsi_conn *conn = cmd->conn; conn 1105 drivers/target/iscsi/iscsi_target_erl1.c iscsit_inc_conn_usage_count(conn); conn 1110 drivers/target/iscsi/iscsi_target_erl1.c iscsit_dec_conn_usage_count(conn); conn 1114 drivers/target/iscsi/iscsi_target_erl1.c sess = conn->sess; conn 1138 drivers/target/iscsi/iscsi_target_erl1.c if (conn->sess->sess_ops->DataSequenceInOrder) { conn 1139 drivers/target/iscsi/iscsi_target_erl1.c if (conn->sess->sess_ops->DataPDUInOrder) { conn 1141 drivers/target/iscsi/iscsi_target_erl1.c if ((pdu_offset + (conn->sess->sess_ops->MaxBurstLength - conn 1146 drivers/target/iscsi/iscsi_target_erl1.c pdu_length = (conn->sess->sess_ops->MaxBurstLength - conn 1171 drivers/target/iscsi/iscsi_target_erl1.c iscsit_start_dataout_timer(cmd, conn); conn 1173 drivers/target/iscsi/iscsi_target_erl1.c iscsit_dec_conn_usage_count(conn); conn 1180 drivers/target/iscsi/iscsi_target_erl1.c iscsit_cause_connection_reinstatement(conn, 0); conn 1181 drivers/target/iscsi/iscsi_target_erl1.c iscsit_dec_conn_usage_count(conn); conn 1186 drivers/target/iscsi/iscsi_target_erl1.c struct iscsi_conn *conn = cmd->conn; conn 1187 drivers/target/iscsi/iscsi_target_erl1.c struct iscsi_session *sess = conn->sess; conn 1205 drivers/target/iscsi/iscsi_target_erl1.c struct iscsi_conn *conn) conn 1207 drivers/target/iscsi/iscsi_target_erl1.c struct iscsi_session *sess = conn->sess; conn 1216 drivers/target/iscsi/iscsi_target_erl1.c " CID: %hu.\n", cmd->init_task_tag, conn->cid); conn 33 drivers/target/iscsi/iscsi_target_erl2.c struct iscsi_conn *conn = cmd->conn; conn 40 drivers/target/iscsi/iscsi_target_erl2.c conn->conn_ops->MaxRecvDataSegmentLength) < conn 41 drivers/target/iscsi/iscsi_target_erl2.c conn->sess->sess_ops->MaxBurstLength) { conn 43 drivers/target/iscsi/iscsi_target_erl2.c conn->conn_ops->MaxRecvDataSegmentLength; conn 45 drivers/target/iscsi/iscsi_target_erl2.c conn->conn_ops->MaxRecvDataSegmentLength; conn 48 drivers/target/iscsi/iscsi_target_erl2.c (conn->sess->sess_ops->MaxBurstLength - conn 60 drivers/target/iscsi/iscsi_target_erl2.c struct iscsi_conn *conn = cmd->conn; conn 66 drivers/target/iscsi/iscsi_target_erl2.c if ((write_data_done + conn->sess->sess_ops->MaxBurstLength) <= conn 68 drivers/target/iscsi/iscsi_target_erl2.c write_data_done += conn->sess->sess_ops->MaxBurstLength; conn 135 drivers/target/iscsi/iscsi_target_erl2.c cmd->conn = NULL; conn 157 drivers/target/iscsi/iscsi_target_erl2.c cmd->conn = NULL; conn 266 drivers/target/iscsi/iscsi_target_erl2.c int iscsit_discard_unacknowledged_ooo_cmdsns_for_conn(struct iscsi_conn *conn) conn 271 drivers/target/iscsi/iscsi_target_erl2.c struct iscsi_session *sess = conn->sess; conn 277 drivers/target/iscsi/iscsi_target_erl2.c if (ooo_cmdsn->cid != conn->cid) conn 283 drivers/target/iscsi/iscsi_target_erl2.c ooo_cmdsn->cmdsn, conn->cid); conn 288 drivers/target/iscsi/iscsi_target_erl2.c spin_lock_bh(&conn->cmd_lock); conn 289 drivers/target/iscsi/iscsi_target_erl2.c list_for_each_entry_safe(cmd, cmd_tmp, &conn->conn_cmd_list, i_conn_node) { conn 295 drivers/target/iscsi/iscsi_target_erl2.c spin_unlock_bh(&conn->cmd_lock); conn 297 drivers/target/iscsi/iscsi_target_erl2.c spin_lock_bh(&conn->cmd_lock); conn 299 drivers/target/iscsi/iscsi_target_erl2.c spin_unlock_bh(&conn->cmd_lock); conn 302 drivers/target/iscsi/iscsi_target_erl2.c " %hu for ExpCmdSN: 0x%08x.\n", dropped_count, conn->cid, conn 307 drivers/target/iscsi/iscsi_target_erl2.c int iscsit_prepare_cmds_for_reallegiance(struct iscsi_conn *conn) conn 337 drivers/target/iscsi/iscsi_target_erl2.c spin_lock_bh(&conn->cmd_lock); conn 338 drivers/target/iscsi/iscsi_target_erl2.c list_for_each_entry_safe(cmd, cmd_tmp, &conn->conn_cmd_list, i_conn_node) { conn 345 drivers/target/iscsi/iscsi_target_erl2.c cmd->init_task_tag, cmd->cmd_sn, conn->cid); conn 348 drivers/target/iscsi/iscsi_target_erl2.c spin_unlock_bh(&conn->cmd_lock); conn 350 drivers/target/iscsi/iscsi_target_erl2.c spin_lock_bh(&conn->cmd_lock); conn 366 drivers/target/iscsi/iscsi_target_erl2.c iscsi_sna_gte(cmd->cmd_sn, conn->sess->exp_cmd_sn)) { conn 368 drivers/target/iscsi/iscsi_target_erl2.c spin_unlock_bh(&conn->cmd_lock); conn 370 drivers/target/iscsi/iscsi_target_erl2.c spin_lock_bh(&conn->cmd_lock); conn 379 drivers/target/iscsi/iscsi_target_erl2.c conn->cid); conn 387 drivers/target/iscsi/iscsi_target_erl2.c cmd->sess = conn->sess; conn 390 drivers/target/iscsi/iscsi_target_erl2.c spin_unlock_bh(&conn->cmd_lock); conn 402 drivers/target/iscsi/iscsi_target_erl2.c spin_lock_bh(&conn->cmd_lock); conn 404 drivers/target/iscsi/iscsi_target_erl2.c cmd->conn = NULL; conn 406 drivers/target/iscsi/iscsi_target_erl2.c spin_unlock_bh(&conn->cmd_lock); conn 410 drivers/target/iscsi/iscsi_target_erl2.c cr->cid = conn->cid; conn 412 drivers/target/iscsi/iscsi_target_erl2.c cr->maxrecvdatasegmentlength = conn->conn_ops->MaxRecvDataSegmentLength; conn 413 drivers/target/iscsi/iscsi_target_erl2.c cr->maxxmitdatasegmentlength = conn->conn_ops->MaxXmitDataSegmentLength; conn 414 drivers/target/iscsi/iscsi_target_erl2.c cr->sess = conn->sess; conn 416 drivers/target/iscsi/iscsi_target_erl2.c iscsit_attach_inactive_connection_recovery_entry(conn->sess, cr); conn 421 drivers/target/iscsi/iscsi_target_erl2.c int iscsit_connection_recovery_transport_reset(struct iscsi_conn *conn) conn 423 drivers/target/iscsi/iscsi_target_erl2.c atomic_set(&conn->connection_recovery, 1); conn 425 drivers/target/iscsi/iscsi_target_erl2.c if (iscsit_close_connection(conn) < 0) conn 37 drivers/target/iscsi/iscsi_target_login.c static struct iscsi_login *iscsi_login_init_conn(struct iscsi_conn *conn) conn 46 drivers/target/iscsi/iscsi_target_login.c conn->login = login; conn 47 drivers/target/iscsi/iscsi_target_login.c login->conn = conn; conn 62 drivers/target/iscsi/iscsi_target_login.c conn->conn_login = login; conn 77 drivers/target/iscsi/iscsi_target_login.c int iscsi_login_setup_crypto(struct iscsi_conn *conn) conn 92 drivers/target/iscsi/iscsi_target_login.c conn->conn_rx_hash = ahash_request_alloc(tfm, GFP_KERNEL); conn 93 drivers/target/iscsi/iscsi_target_login.c if (!conn->conn_rx_hash) { conn 98 drivers/target/iscsi/iscsi_target_login.c ahash_request_set_callback(conn->conn_rx_hash, 0, NULL, NULL); conn 100 drivers/target/iscsi/iscsi_target_login.c conn->conn_tx_hash = ahash_request_alloc(tfm, GFP_KERNEL); conn 101 drivers/target/iscsi/iscsi_target_login.c if (!conn->conn_tx_hash) { conn 103 drivers/target/iscsi/iscsi_target_login.c ahash_request_free(conn->conn_rx_hash); conn 104 drivers/target/iscsi/iscsi_target_login.c conn->conn_rx_hash = NULL; conn 108 drivers/target/iscsi/iscsi_target_login.c ahash_request_set_callback(conn->conn_tx_hash, 0, NULL, NULL); conn 114 drivers/target/iscsi/iscsi_target_login.c struct iscsi_conn *conn, conn 122 drivers/target/iscsi/iscsi_target_login.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 130 drivers/target/iscsi/iscsi_target_login.c int iscsi_check_for_session_reinstatement(struct iscsi_conn *conn) conn 134 drivers/target/iscsi/iscsi_target_login.c struct iscsi_portal_group *tpg = conn->tpg; conn 140 drivers/target/iscsi/iscsi_target_login.c INITIATORNAME, conn->param_list); conn 142 drivers/target/iscsi/iscsi_target_login.c SESSIONTYPE, conn->param_list); conn 144 drivers/target/iscsi/iscsi_target_login.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 164 drivers/target/iscsi/iscsi_target_login.c if (!memcmp(sess_p->isid, conn->sess->isid, 6) && conn 207 drivers/target/iscsi/iscsi_target_login.c struct iscsi_conn *conn, conn 211 drivers/target/iscsi/iscsi_target_login.c conn->sess = sess; conn 212 drivers/target/iscsi/iscsi_target_login.c conn->cid = be16_to_cpu(cid); conn 217 drivers/target/iscsi/iscsi_target_login.c ret = get_random_bytes_wait(&conn->stat_sn, sizeof(u32)); conn 222 drivers/target/iscsi/iscsi_target_login.c conn->auth_id = iscsit_global->auth_id++; conn 228 drivers/target/iscsi/iscsi_target_login.c struct iscsi_conn *conn, conn 240 drivers/target/iscsi/iscsi_target_login.c if (iscsi_change_param_value(buf, conn->param_list, 0) < 0) { conn 241 drivers/target/iscsi/iscsi_target_login.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, conn 255 drivers/target/iscsi/iscsi_target_login.c struct iscsi_conn *conn, conn 264 drivers/target/iscsi/iscsi_target_login.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, conn 270 drivers/target/iscsi/iscsi_target_login.c if (iscsi_login_set_conn_values(sess, conn, pdu->cid)) conn 297 drivers/target/iscsi/iscsi_target_login.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, conn 312 drivers/target/iscsi/iscsi_target_login.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, conn 321 drivers/target/iscsi/iscsi_target_login.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, conn 334 drivers/target/iscsi/iscsi_target_login.c conn->sess = NULL; conn 339 drivers/target/iscsi/iscsi_target_login.c struct iscsi_conn *conn) conn 342 drivers/target/iscsi/iscsi_target_login.c struct iscsi_session *sess = conn->sess; conn 345 drivers/target/iscsi/iscsi_target_login.c sess->tpg = conn->tpg; conn 358 drivers/target/iscsi/iscsi_target_login.c if (iscsi_copy_param_list(&conn->param_list, conn 359 drivers/target/iscsi/iscsi_target_login.c conn->tpg->param_list, 1) < 0) { conn 360 drivers/target/iscsi/iscsi_target_login.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, conn 365 drivers/target/iscsi/iscsi_target_login.c if (conn->conn_transport->transport_type == ISCSI_INFINIBAND) conn 368 drivers/target/iscsi/iscsi_target_login.c iscsi_set_keys_to_negotiate(conn->param_list, iser); conn 372 drivers/target/iscsi/iscsi_target_login.c conn->param_list); conn 383 drivers/target/iscsi/iscsi_target_login.c if (iscsi_change_param_sprintf(conn, "TargetPortalGroupTag=%hu", sess->tpg->tpgt)) conn 391 drivers/target/iscsi/iscsi_target_login.c if (iscsi_change_param_sprintf(conn, "ErrorRecoveryLevel=%d", na->default_erl)) conn 402 drivers/target/iscsi/iscsi_target_login.c if (iscsi_change_param_sprintf(conn, "RDMAExtensions=Yes")) conn 410 drivers/target/iscsi/iscsi_target_login.c conn->param_list); conn 412 drivers/target/iscsi/iscsi_target_login.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, conn 418 drivers/target/iscsi/iscsi_target_login.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, conn 434 drivers/target/iscsi/iscsi_target_login.c if (iscsi_change_param_sprintf(conn, "MaxRecvDataSegmentLength=%lu\n", mrdsl)) conn 445 drivers/target/iscsi/iscsi_target_login.c if (iscsi_change_param_sprintf(conn, "ImmediateData=No")) conn 448 drivers/target/iscsi/iscsi_target_login.c if (iscsi_change_param_sprintf(conn, "InitialR2T=Yes")) conn 460 drivers/target/iscsi/iscsi_target_login.c struct iscsi_conn *conn, conn 465 drivers/target/iscsi/iscsi_target_login.c return iscsi_login_set_conn_values(NULL, conn, pdu->cid); conn 472 drivers/target/iscsi/iscsi_target_login.c struct iscsi_conn *conn, conn 475 drivers/target/iscsi/iscsi_target_login.c struct iscsi_portal_group *tpg = conn->tpg; conn 508 drivers/target/iscsi/iscsi_target_login.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 522 drivers/target/iscsi/iscsi_target_login.c if (iscsi_login_set_conn_values(sess, conn, pdu->cid) < 0 || conn 523 drivers/target/iscsi/iscsi_target_login.c iscsi_copy_param_list(&conn->param_list, conn 524 drivers/target/iscsi/iscsi_target_login.c conn->tpg->param_list, 0) < 0) { conn 525 drivers/target/iscsi/iscsi_target_login.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, conn 530 drivers/target/iscsi/iscsi_target_login.c if (conn->conn_transport->transport_type == ISCSI_INFINIBAND) conn 533 drivers/target/iscsi/iscsi_target_login.c iscsi_set_keys_to_negotiate(conn->param_list, iser); conn 541 drivers/target/iscsi/iscsi_target_login.c if (iscsi_change_param_sprintf(conn, "TargetPortalGroupTag=%hu", sess->tpg->tpgt)) conn 548 drivers/target/iscsi/iscsi_target_login.c struct iscsi_conn *conn, conn 554 drivers/target/iscsi/iscsi_target_login.c struct iscsi_session *sess = conn->sess; conn 588 drivers/target/iscsi/iscsi_target_login.c conn->cid); conn 606 drivers/target/iscsi/iscsi_target_login.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 614 drivers/target/iscsi/iscsi_target_login.c static void iscsi_post_login_start_timers(struct iscsi_conn *conn) conn 616 drivers/target/iscsi/iscsi_target_login.c struct iscsi_session *sess = conn->sess; conn 620 drivers/target/iscsi/iscsi_target_login.c if (conn->conn_transport->transport_type == ISCSI_INFINIBAND) conn 624 drivers/target/iscsi/iscsi_target_login.c iscsit_start_nopin_timer(conn); conn 627 drivers/target/iscsi/iscsi_target_login.c int iscsit_start_kthreads(struct iscsi_conn *conn) conn 632 drivers/target/iscsi/iscsi_target_login.c conn->bitmap_id = bitmap_find_free_region(iscsit_global->ts_bitmap, conn 636 drivers/target/iscsi/iscsi_target_login.c if (conn->bitmap_id < 0) { conn 642 drivers/target/iscsi/iscsi_target_login.c conn->tx_thread = kthread_run(iscsi_target_tx_thread, conn, conn 644 drivers/target/iscsi/iscsi_target_login.c if (IS_ERR(conn->tx_thread)) { conn 646 drivers/target/iscsi/iscsi_target_login.c ret = PTR_ERR(conn->tx_thread); conn 649 drivers/target/iscsi/iscsi_target_login.c conn->tx_thread_active = true; conn 651 drivers/target/iscsi/iscsi_target_login.c conn->rx_thread = kthread_run(iscsi_target_rx_thread, conn, conn 653 drivers/target/iscsi/iscsi_target_login.c if (IS_ERR(conn->rx_thread)) { conn 655 drivers/target/iscsi/iscsi_target_login.c ret = PTR_ERR(conn->rx_thread); conn 658 drivers/target/iscsi/iscsi_target_login.c conn->rx_thread_active = true; conn 662 drivers/target/iscsi/iscsi_target_login.c send_sig(SIGINT, conn->tx_thread, 1); conn 663 drivers/target/iscsi/iscsi_target_login.c kthread_stop(conn->tx_thread); conn 664 drivers/target/iscsi/iscsi_target_login.c conn->tx_thread_active = false; conn 667 drivers/target/iscsi/iscsi_target_login.c bitmap_release_region(iscsit_global->ts_bitmap, conn->bitmap_id, conn 675 drivers/target/iscsi/iscsi_target_login.c struct iscsi_conn *conn, conn 679 drivers/target/iscsi/iscsi_target_login.c struct iscsi_session *sess = conn->sess; conn 684 drivers/target/iscsi/iscsi_target_login.c iscsit_inc_conn_usage_count(conn); conn 686 drivers/target/iscsi/iscsi_target_login.c iscsit_collect_login_stats(conn, ISCSI_STATUS_CLS_SUCCESS, conn 690 drivers/target/iscsi/iscsi_target_login.c conn->conn_state = TARG_CONN_STATE_LOGGED_IN; conn 692 drivers/target/iscsi/iscsi_target_login.c iscsi_set_connection_parameters(conn->conn_ops, conn->param_list); conn 698 drivers/target/iscsi/iscsi_target_login.c conn->param_list, 0); conn 699 drivers/target/iscsi/iscsi_target_login.c iscsi_release_param_list(conn->param_list); conn 700 drivers/target/iscsi/iscsi_target_login.c conn->param_list = NULL; conn 712 drivers/target/iscsi/iscsi_target_login.c " %pISpc,%hu\n", conn->cid, &conn->login_sockaddr, conn 713 drivers/target/iscsi/iscsi_target_login.c &conn->local_sockaddr, tpg->tpgt); conn 715 drivers/target/iscsi/iscsi_target_login.c list_add_tail(&conn->conn_list, &sess->sess_conn_list); conn 722 drivers/target/iscsi/iscsi_target_login.c iscsi_post_login_start_timers(conn); conn 727 drivers/target/iscsi/iscsi_target_login.c iscsit_thread_get_cpumask(conn); conn 728 drivers/target/iscsi/iscsi_target_login.c conn->conn_rx_reset_cpumask = 1; conn 729 drivers/target/iscsi/iscsi_target_login.c conn->conn_tx_reset_cpumask = 1; conn 734 drivers/target/iscsi/iscsi_target_login.c complete(&conn->rx_login_comp); conn 735 drivers/target/iscsi/iscsi_target_login.c iscsit_dec_conn_usage_count(conn); conn 746 drivers/target/iscsi/iscsi_target_login.c iscsi_set_session_parameters(sess->sess_ops, conn->param_list, 1); conn 747 drivers/target/iscsi/iscsi_target_login.c iscsi_release_param_list(conn->param_list); conn 748 drivers/target/iscsi/iscsi_target_login.c conn->param_list = NULL; conn 759 drivers/target/iscsi/iscsi_target_login.c conn->cid, &conn->login_sockaddr, &conn->local_sockaddr, conn 763 drivers/target/iscsi/iscsi_target_login.c list_add_tail(&conn->conn_list, &sess->sess_conn_list); conn 784 drivers/target/iscsi/iscsi_target_login.c iscsi_post_login_start_timers(conn); conn 789 drivers/target/iscsi/iscsi_target_login.c iscsit_thread_get_cpumask(conn); conn 790 drivers/target/iscsi/iscsi_target_login.c conn->conn_rx_reset_cpumask = 1; conn 791 drivers/target/iscsi/iscsi_target_login.c conn->conn_tx_reset_cpumask = 1; conn 796 drivers/target/iscsi/iscsi_target_login.c complete(&conn->rx_login_comp); conn 797 drivers/target/iscsi/iscsi_target_login.c iscsit_dec_conn_usage_count(conn); conn 970 drivers/target/iscsi/iscsi_target_login.c int iscsit_accept_np(struct iscsi_np *np, struct iscsi_conn *conn) conn 981 drivers/target/iscsi/iscsi_target_login.c conn->sock = new_sock; conn 982 drivers/target/iscsi/iscsi_target_login.c conn->login_family = np->np_sockaddr.ss_family; conn 987 drivers/target/iscsi/iscsi_target_login.c rc = conn->sock->ops->getname(conn->sock, conn 991 drivers/target/iscsi/iscsi_target_login.c memcpy(&conn->login_sockaddr, &sock_in6, sizeof(sock_in6)); conn 997 drivers/target/iscsi/iscsi_target_login.c memcpy(&conn->login_sockaddr, &sock_in, sizeof(sock_in)); conn 1001 drivers/target/iscsi/iscsi_target_login.c rc = conn->sock->ops->getname(conn->sock, conn 1005 drivers/target/iscsi/iscsi_target_login.c memcpy(&conn->local_sockaddr, &sock_in6, sizeof(sock_in6)); conn 1011 drivers/target/iscsi/iscsi_target_login.c memcpy(&conn->local_sockaddr, &sock_in, sizeof(sock_in)); conn 1017 drivers/target/iscsi/iscsi_target_login.c rc = conn->sock->ops->getname(conn->sock, conn 1020 drivers/target/iscsi/iscsi_target_login.c memcpy(&conn->login_sockaddr, &sock_in, sizeof(sock_in)); conn 1022 drivers/target/iscsi/iscsi_target_login.c rc = conn->sock->ops->getname(conn->sock, conn 1025 drivers/target/iscsi/iscsi_target_login.c memcpy(&conn->local_sockaddr, &sock_in, sizeof(sock_in)); conn 1031 drivers/target/iscsi/iscsi_target_login.c int iscsit_get_login_rx(struct iscsi_conn *conn, struct iscsi_login *login) conn 1036 drivers/target/iscsi/iscsi_target_login.c if (iscsi_login_rx_data(conn, login->req, ISCSI_HDR_LEN) < 0) conn 1065 drivers/target/iscsi/iscsi_target_login.c if (iscsi_target_check_login_request(conn, login) < 0) conn 1069 drivers/target/iscsi/iscsi_target_login.c if (iscsi_login_rx_data(conn, login->req_buf, conn 1076 drivers/target/iscsi/iscsi_target_login.c int iscsit_put_login_tx(struct iscsi_conn *conn, struct iscsi_login *login, conn 1079 drivers/target/iscsi/iscsi_target_login.c if (iscsi_login_tx_data(conn, login->rsp, login->rsp_buf, length) < 0) conn 1086 drivers/target/iscsi/iscsi_target_login.c iscsit_conn_set_transport(struct iscsi_conn *conn, struct iscsit_transport *t) conn 1091 drivers/target/iscsi/iscsi_target_login.c conn->conn_transport = t; conn 1101 drivers/target/iscsi/iscsi_target_login.c conn->conn_transport = t; conn 1107 drivers/target/iscsi/iscsi_target_login.c struct iscsi_conn *conn; conn 1109 drivers/target/iscsi/iscsi_target_login.c conn = kzalloc(sizeof(struct iscsi_conn), GFP_KERNEL); conn 1110 drivers/target/iscsi/iscsi_target_login.c if (!conn) { conn 1115 drivers/target/iscsi/iscsi_target_login.c conn->conn_state = TARG_CONN_STATE_FREE; conn 1117 drivers/target/iscsi/iscsi_target_login.c init_waitqueue_head(&conn->queues_wq); conn 1118 drivers/target/iscsi/iscsi_target_login.c INIT_LIST_HEAD(&conn->conn_list); conn 1119 drivers/target/iscsi/iscsi_target_login.c INIT_LIST_HEAD(&conn->conn_cmd_list); conn 1120 drivers/target/iscsi/iscsi_target_login.c INIT_LIST_HEAD(&conn->immed_queue_list); conn 1121 drivers/target/iscsi/iscsi_target_login.c INIT_LIST_HEAD(&conn->response_queue_list); conn 1122 drivers/target/iscsi/iscsi_target_login.c init_completion(&conn->conn_post_wait_comp); conn 1123 drivers/target/iscsi/iscsi_target_login.c init_completion(&conn->conn_wait_comp); conn 1124 drivers/target/iscsi/iscsi_target_login.c init_completion(&conn->conn_wait_rcfr_comp); conn 1125 drivers/target/iscsi/iscsi_target_login.c init_completion(&conn->conn_waiting_on_uc_comp); conn 1126 drivers/target/iscsi/iscsi_target_login.c init_completion(&conn->conn_logout_comp); conn 1127 drivers/target/iscsi/iscsi_target_login.c init_completion(&conn->rx_half_close_comp); conn 1128 drivers/target/iscsi/iscsi_target_login.c init_completion(&conn->tx_half_close_comp); conn 1129 drivers/target/iscsi/iscsi_target_login.c init_completion(&conn->rx_login_comp); conn 1130 drivers/target/iscsi/iscsi_target_login.c spin_lock_init(&conn->cmd_lock); conn 1131 drivers/target/iscsi/iscsi_target_login.c spin_lock_init(&conn->conn_usage_lock); conn 1132 drivers/target/iscsi/iscsi_target_login.c spin_lock_init(&conn->immed_queue_lock); conn 1133 drivers/target/iscsi/iscsi_target_login.c spin_lock_init(&conn->nopin_timer_lock); conn 1134 drivers/target/iscsi/iscsi_target_login.c spin_lock_init(&conn->response_queue_lock); conn 1135 drivers/target/iscsi/iscsi_target_login.c spin_lock_init(&conn->state_lock); conn 1137 drivers/target/iscsi/iscsi_target_login.c timer_setup(&conn->nopin_response_timer, conn 1139 drivers/target/iscsi/iscsi_target_login.c timer_setup(&conn->nopin_timer, iscsit_handle_nopin_timeout, 0); conn 1141 drivers/target/iscsi/iscsi_target_login.c if (iscsit_conn_set_transport(conn, np->np_transport) < 0) conn 1144 drivers/target/iscsi/iscsi_target_login.c conn->conn_ops = kzalloc(sizeof(struct iscsi_conn_ops), GFP_KERNEL); conn 1145 drivers/target/iscsi/iscsi_target_login.c if (!conn->conn_ops) { conn 1150 drivers/target/iscsi/iscsi_target_login.c if (!zalloc_cpumask_var(&conn->conn_cpumask, GFP_KERNEL)) { conn 1155 drivers/target/iscsi/iscsi_target_login.c return conn; conn 1158 drivers/target/iscsi/iscsi_target_login.c kfree(conn->conn_ops); conn 1160 drivers/target/iscsi/iscsi_target_login.c iscsit_put_transport(conn->conn_transport); conn 1162 drivers/target/iscsi/iscsi_target_login.c kfree(conn); conn 1166 drivers/target/iscsi/iscsi_target_login.c void iscsit_free_conn(struct iscsi_conn *conn) conn 1168 drivers/target/iscsi/iscsi_target_login.c free_cpumask_var(conn->conn_cpumask); conn 1169 drivers/target/iscsi/iscsi_target_login.c kfree(conn->conn_ops); conn 1170 drivers/target/iscsi/iscsi_target_login.c iscsit_put_transport(conn->conn_transport); conn 1171 drivers/target/iscsi/iscsi_target_login.c kfree(conn); conn 1174 drivers/target/iscsi/iscsi_target_login.c void iscsi_target_login_sess_out(struct iscsi_conn *conn, conn 1181 drivers/target/iscsi/iscsi_target_login.c iscsit_collect_login_stats(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 1183 drivers/target/iscsi/iscsi_target_login.c if (!zero_tsih || !conn->sess) conn 1186 drivers/target/iscsi/iscsi_target_login.c transport_free_session(conn->sess->se_sess); conn 1187 drivers/target/iscsi/iscsi_target_login.c ida_free(&sess_ida, conn->sess->session_index); conn 1188 drivers/target/iscsi/iscsi_target_login.c kfree(conn->sess->sess_ops); conn 1189 drivers/target/iscsi/iscsi_target_login.c kfree(conn->sess); conn 1190 drivers/target/iscsi/iscsi_target_login.c conn->sess = NULL; conn 1198 drivers/target/iscsi/iscsi_target_login.c if (!zero_tsih && conn->sess) { conn 1199 drivers/target/iscsi/iscsi_target_login.c spin_lock_bh(&conn->sess->conn_lock); conn 1200 drivers/target/iscsi/iscsi_target_login.c if (conn->sess->session_state == TARG_SESS_STATE_FAILED) { conn 1202 drivers/target/iscsi/iscsi_target_login.c &conn->tpg->tpg_se_tpg; conn 1204 drivers/target/iscsi/iscsi_target_login.c atomic_set(&conn->sess->session_continuation, 0); conn 1205 drivers/target/iscsi/iscsi_target_login.c spin_unlock_bh(&conn->sess->conn_lock); conn 1207 drivers/target/iscsi/iscsi_target_login.c iscsit_start_time2retain_handler(conn->sess); conn 1210 drivers/target/iscsi/iscsi_target_login.c spin_unlock_bh(&conn->sess->conn_lock); conn 1211 drivers/target/iscsi/iscsi_target_login.c iscsit_dec_session_usage_count(conn->sess); conn 1214 drivers/target/iscsi/iscsi_target_login.c ahash_request_free(conn->conn_tx_hash); conn 1215 drivers/target/iscsi/iscsi_target_login.c if (conn->conn_rx_hash) { conn 1218 drivers/target/iscsi/iscsi_target_login.c tfm = crypto_ahash_reqtfm(conn->conn_rx_hash); conn 1219 drivers/target/iscsi/iscsi_target_login.c ahash_request_free(conn->conn_rx_hash); conn 1223 drivers/target/iscsi/iscsi_target_login.c if (conn->param_list) { conn 1224 drivers/target/iscsi/iscsi_target_login.c iscsi_release_param_list(conn->param_list); conn 1225 drivers/target/iscsi/iscsi_target_login.c conn->param_list = NULL; conn 1227 drivers/target/iscsi/iscsi_target_login.c iscsi_target_nego_release(conn); conn 1229 drivers/target/iscsi/iscsi_target_login.c if (conn->sock) { conn 1230 drivers/target/iscsi/iscsi_target_login.c sock_release(conn->sock); conn 1231 drivers/target/iscsi/iscsi_target_login.c conn->sock = NULL; conn 1234 drivers/target/iscsi/iscsi_target_login.c if (conn->conn_transport->iscsit_wait_conn) conn 1235 drivers/target/iscsi/iscsi_target_login.c conn->conn_transport->iscsit_wait_conn(conn); conn 1237 drivers/target/iscsi/iscsi_target_login.c if (conn->conn_transport->iscsit_free_conn) conn 1238 drivers/target/iscsi/iscsi_target_login.c conn->conn_transport->iscsit_free_conn(conn); conn 1240 drivers/target/iscsi/iscsi_target_login.c iscsit_free_conn(conn); conn 1247 drivers/target/iscsi/iscsi_target_login.c struct iscsi_conn *conn = NULL; conn 1270 drivers/target/iscsi/iscsi_target_login.c conn = iscsit_alloc_conn(np); conn 1271 drivers/target/iscsi/iscsi_target_login.c if (!conn) { conn 1276 drivers/target/iscsi/iscsi_target_login.c rc = np->np_transport->iscsit_accept_np(np, conn); conn 1279 drivers/target/iscsi/iscsi_target_login.c iscsit_free_conn(conn); conn 1287 drivers/target/iscsi/iscsi_target_login.c iscsit_free_conn(conn); conn 1292 drivers/target/iscsi/iscsi_target_login.c iscsit_free_conn(conn); conn 1298 drivers/target/iscsi/iscsi_target_login.c login = iscsi_login_init_conn(conn); conn 1306 drivers/target/iscsi/iscsi_target_login.c conn->conn_state = TARG_CONN_STATE_XPT_UP; conn 1310 drivers/target/iscsi/iscsi_target_login.c rc = np->np_transport->iscsit_get_login_rx(conn, login); conn 1322 drivers/target/iscsi/iscsi_target_login.c conn->login_itt = pdu->itt; conn 1329 drivers/target/iscsi/iscsi_target_login.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, conn 1335 drivers/target/iscsi/iscsi_target_login.c conn->network_transport = np->np_network_transport; conn 1338 drivers/target/iscsi/iscsi_target_login.c " Portal %pISpc\n", &conn->login_sockaddr, np->np_transport->name, conn 1339 drivers/target/iscsi/iscsi_target_login.c &conn->local_sockaddr); conn 1342 drivers/target/iscsi/iscsi_target_login.c conn->conn_state = TARG_CONN_STATE_IN_LOGIN; conn 1344 drivers/target/iscsi/iscsi_target_login.c if (iscsi_login_check_initiator_version(conn, pdu->max_version, conn 1355 drivers/target/iscsi/iscsi_target_login.c if (iscsi_login_zero_tsih_s1(conn, buffer) < 0) conn 1365 drivers/target/iscsi/iscsi_target_login.c if (iscsi_login_non_zero_tsih_s1(conn, buffer) < 0) conn 1377 drivers/target/iscsi/iscsi_target_login.c rc = iscsi_target_locate_portal(np, conn, login); conn 1379 drivers/target/iscsi/iscsi_target_login.c tpg = conn->tpg; conn 1384 drivers/target/iscsi/iscsi_target_login.c if (conn->sess) conn 1385 drivers/target/iscsi/iscsi_target_login.c conn->sess->se_sess->sup_prot_ops = conn 1386 drivers/target/iscsi/iscsi_target_login.c conn->conn_transport->iscsit_get_sup_prot_ops(conn); conn 1388 drivers/target/iscsi/iscsi_target_login.c tpg = conn->tpg; conn 1395 drivers/target/iscsi/iscsi_target_login.c if (iscsi_login_zero_tsih_s2(conn) < 0) conn 1398 drivers/target/iscsi/iscsi_target_login.c if (iscsi_login_non_zero_tsih_s2(conn, buffer) < 0) conn 1402 drivers/target/iscsi/iscsi_target_login.c if (conn->conn_transport->iscsit_validate_params) { conn 1403 drivers/target/iscsi/iscsi_target_login.c ret = conn->conn_transport->iscsit_validate_params(conn); conn 1412 drivers/target/iscsi/iscsi_target_login.c ret = iscsi_target_start_negotiation(login, conn); conn 1419 drivers/target/iscsi/iscsi_target_login.c tpg_np = conn->tpg_np; conn 1421 drivers/target/iscsi/iscsi_target_login.c iscsi_post_login_handler(np, conn, zero_tsih); conn 1433 drivers/target/iscsi/iscsi_target_login.c tpg_np = conn->tpg_np; conn 1434 drivers/target/iscsi/iscsi_target_login.c iscsi_target_login_sess_out(conn, np, zero_tsih, new_sess); conn 99 drivers/target/iscsi/iscsi_target_nego.c struct iscsi_conn *conn, conn 106 drivers/target/iscsi/iscsi_target_nego.c struct iscsi_session *sess = conn->sess; conn 116 drivers/target/iscsi/iscsi_target_nego.c se_nacl = conn->sess->se_sess->se_node_acl; conn 149 drivers/target/iscsi/iscsi_target_nego.c strcpy(conn->sess->auth_type, "CHAP"); conn 151 drivers/target/iscsi/iscsi_target_nego.c strcpy(conn->sess->auth_type, NONE); conn 156 drivers/target/iscsi/iscsi_target_nego.c return chap_main_loop(conn, auth, in_buf, out_buf, conn 162 drivers/target/iscsi/iscsi_target_nego.c static void iscsi_remove_failed_auth_entry(struct iscsi_conn *conn) conn 164 drivers/target/iscsi/iscsi_target_nego.c kfree(conn->auth_protocol); conn 168 drivers/target/iscsi/iscsi_target_nego.c struct iscsi_conn *conn, conn 184 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 193 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 205 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 216 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 226 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 234 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 242 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 259 drivers/target/iscsi/iscsi_target_nego.c struct iscsi_conn *conn, conn 267 drivers/target/iscsi/iscsi_target_nego.c list_for_each_entry(param, &conn->param_list->param_list, p_list) { conn 272 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 287 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 298 drivers/target/iscsi/iscsi_target_nego.c se_nacl = conn->sess->se_sess->se_node_acl; conn 302 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, conn 314 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, conn 326 drivers/target/iscsi/iscsi_target_nego.c static int iscsi_target_do_tx_login_io(struct iscsi_conn *conn, struct iscsi_login *login) conn 338 drivers/target/iscsi/iscsi_target_nego.c login_rsp->statsn = cpu_to_be32(conn->stat_sn++); conn 339 drivers/target/iscsi/iscsi_target_nego.c login_rsp->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); conn 340 drivers/target/iscsi/iscsi_target_nego.c login_rsp->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); conn 356 drivers/target/iscsi/iscsi_target_nego.c int rc = iscsit_start_kthreads(conn); conn 358 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, conn 364 drivers/target/iscsi/iscsi_target_nego.c if (conn->conn_transport->iscsit_put_login_tx(conn, login, conn 374 drivers/target/iscsi/iscsi_target_nego.c if (conn->rx_thread && conn->rx_thread_active) { conn 375 drivers/target/iscsi/iscsi_target_nego.c send_sig(SIGINT, conn->rx_thread, 1); conn 376 drivers/target/iscsi/iscsi_target_nego.c complete(&conn->rx_login_comp); conn 377 drivers/target/iscsi/iscsi_target_nego.c kthread_stop(conn->rx_thread); conn 379 drivers/target/iscsi/iscsi_target_nego.c if (conn->tx_thread && conn->tx_thread_active) { conn 380 drivers/target/iscsi/iscsi_target_nego.c send_sig(SIGINT, conn->tx_thread, 1); conn 381 drivers/target/iscsi/iscsi_target_nego.c kthread_stop(conn->tx_thread); conn 384 drivers/target/iscsi/iscsi_target_nego.c bitmap_release_region(iscsit_global->ts_bitmap, conn->bitmap_id, conn 393 drivers/target/iscsi/iscsi_target_nego.c struct iscsi_conn *conn = sk->sk_user_data; conn 396 drivers/target/iscsi/iscsi_target_nego.c pr_debug("Entering iscsi_target_sk_data_ready: conn: %p\n", conn); conn 403 drivers/target/iscsi/iscsi_target_nego.c if (!test_bit(LOGIN_FLAGS_READY, &conn->login_flags)) { conn 405 drivers/target/iscsi/iscsi_target_nego.c pr_debug("Got LOGIN_FLAGS_READY=0, conn: %p >>>>\n", conn); conn 408 drivers/target/iscsi/iscsi_target_nego.c if (test_bit(LOGIN_FLAGS_CLOSED, &conn->login_flags)) { conn 410 drivers/target/iscsi/iscsi_target_nego.c pr_debug("Got LOGIN_FLAGS_CLOSED=1, conn: %p >>>>\n", conn); conn 413 drivers/target/iscsi/iscsi_target_nego.c if (test_and_set_bit(LOGIN_FLAGS_READ_ACTIVE, &conn->login_flags)) { conn 415 drivers/target/iscsi/iscsi_target_nego.c pr_debug("Got LOGIN_FLAGS_READ_ACTIVE=1, conn: %p >>>>\n", conn); conn 416 drivers/target/iscsi/iscsi_target_nego.c if (iscsi_target_sk_data_ready == conn->orig_data_ready) conn 418 drivers/target/iscsi/iscsi_target_nego.c conn->orig_data_ready(sk); conn 422 drivers/target/iscsi/iscsi_target_nego.c rc = schedule_delayed_work(&conn->login_work, 0); conn 432 drivers/target/iscsi/iscsi_target_nego.c static void iscsi_target_set_sock_callbacks(struct iscsi_conn *conn) conn 436 drivers/target/iscsi/iscsi_target_nego.c if (!conn->sock) conn 439 drivers/target/iscsi/iscsi_target_nego.c sk = conn->sock->sk; conn 440 drivers/target/iscsi/iscsi_target_nego.c pr_debug("Entering iscsi_target_set_sock_callbacks: conn: %p\n", conn); conn 443 drivers/target/iscsi/iscsi_target_nego.c sk->sk_user_data = conn; conn 444 drivers/target/iscsi/iscsi_target_nego.c conn->orig_data_ready = sk->sk_data_ready; conn 445 drivers/target/iscsi/iscsi_target_nego.c conn->orig_state_change = sk->sk_state_change; conn 454 drivers/target/iscsi/iscsi_target_nego.c static void iscsi_target_restore_sock_callbacks(struct iscsi_conn *conn) conn 458 drivers/target/iscsi/iscsi_target_nego.c if (!conn->sock) conn 461 drivers/target/iscsi/iscsi_target_nego.c sk = conn->sock->sk; conn 462 drivers/target/iscsi/iscsi_target_nego.c pr_debug("Entering iscsi_target_restore_sock_callbacks: conn: %p\n", conn); conn 470 drivers/target/iscsi/iscsi_target_nego.c sk->sk_data_ready = conn->orig_data_ready; conn 471 drivers/target/iscsi/iscsi_target_nego.c sk->sk_state_change = conn->orig_state_change; conn 490 drivers/target/iscsi/iscsi_target_nego.c static bool iscsi_target_sk_check_close(struct iscsi_conn *conn) conn 494 drivers/target/iscsi/iscsi_target_nego.c if (conn->sock) { conn 495 drivers/target/iscsi/iscsi_target_nego.c struct sock *sk = conn->sock->sk; conn 499 drivers/target/iscsi/iscsi_target_nego.c test_bit(LOGIN_FLAGS_CLOSED, &conn->login_flags)); conn 505 drivers/target/iscsi/iscsi_target_nego.c static bool iscsi_target_sk_check_flag(struct iscsi_conn *conn, unsigned int flag) conn 509 drivers/target/iscsi/iscsi_target_nego.c if (conn->sock) { conn 510 drivers/target/iscsi/iscsi_target_nego.c struct sock *sk = conn->sock->sk; conn 513 drivers/target/iscsi/iscsi_target_nego.c state = test_bit(flag, &conn->login_flags); conn 519 drivers/target/iscsi/iscsi_target_nego.c static bool iscsi_target_sk_check_and_clear(struct iscsi_conn *conn, unsigned int flag) conn 523 drivers/target/iscsi/iscsi_target_nego.c if (conn->sock) { conn 524 drivers/target/iscsi/iscsi_target_nego.c struct sock *sk = conn->sock->sk; conn 528 drivers/target/iscsi/iscsi_target_nego.c test_bit(LOGIN_FLAGS_CLOSED, &conn->login_flags)); conn 530 drivers/target/iscsi/iscsi_target_nego.c clear_bit(flag, &conn->login_flags); conn 536 drivers/target/iscsi/iscsi_target_nego.c static void iscsi_target_login_drop(struct iscsi_conn *conn, struct iscsi_login *login) conn 541 drivers/target/iscsi/iscsi_target_nego.c iscsi_remove_failed_auth_entry(conn); conn 542 drivers/target/iscsi/iscsi_target_nego.c iscsi_target_nego_release(conn); conn 543 drivers/target/iscsi/iscsi_target_nego.c iscsi_target_login_sess_out(conn, np, zero_tsih, true); conn 548 drivers/target/iscsi/iscsi_target_nego.c struct iscsi_conn *conn; conn 554 drivers/target/iscsi/iscsi_target_nego.c struct iscsi_conn *conn = timeout->conn; conn 558 drivers/target/iscsi/iscsi_target_nego.c if (conn->login_kworker) { conn 560 drivers/target/iscsi/iscsi_target_nego.c conn->login_kworker->comm, conn->login_kworker->pid); conn 561 drivers/target/iscsi/iscsi_target_nego.c send_sig(SIGINT, conn->login_kworker, 1); conn 567 drivers/target/iscsi/iscsi_target_nego.c struct iscsi_conn *conn = container_of(work, conn 569 drivers/target/iscsi/iscsi_target_nego.c struct iscsi_login *login = conn->login; conn 571 drivers/target/iscsi/iscsi_target_nego.c struct iscsi_portal_group *tpg = conn->tpg; conn 572 drivers/target/iscsi/iscsi_target_nego.c struct iscsi_tpg_np *tpg_np = conn->tpg_np; conn 578 drivers/target/iscsi/iscsi_target_nego.c conn, current->comm, current->pid); conn 589 drivers/target/iscsi/iscsi_target_nego.c if (iscsi_target_sk_check_flag(conn, LOGIN_FLAGS_INITIAL_PDU)) { conn 590 drivers/target/iscsi/iscsi_target_nego.c schedule_delayed_work(&conn->login_work, msecs_to_jiffies(10)); conn 603 drivers/target/iscsi/iscsi_target_nego.c if (iscsi_target_sk_check_close(conn)) { conn 608 drivers/target/iscsi/iscsi_target_nego.c conn->login_kworker = current; conn 611 drivers/target/iscsi/iscsi_target_nego.c timeout.conn = conn; conn 616 drivers/target/iscsi/iscsi_target_nego.c rc = conn->conn_transport->iscsit_get_login_rx(conn, login); conn 620 drivers/target/iscsi/iscsi_target_nego.c conn->login_kworker = NULL; conn 626 drivers/target/iscsi/iscsi_target_nego.c conn, current->comm, current->pid); conn 628 drivers/target/iscsi/iscsi_target_nego.c rc = iscsi_target_do_login(conn, login); conn 632 drivers/target/iscsi/iscsi_target_nego.c if (iscsi_target_sk_check_and_clear(conn, LOGIN_FLAGS_READ_ACTIVE)) conn 635 drivers/target/iscsi/iscsi_target_nego.c iscsi_target_nego_release(conn); conn 636 drivers/target/iscsi/iscsi_target_nego.c iscsi_post_login_handler(np, conn, zero_tsih); conn 642 drivers/target/iscsi/iscsi_target_nego.c iscsi_target_restore_sock_callbacks(conn); conn 643 drivers/target/iscsi/iscsi_target_nego.c iscsi_target_login_drop(conn, login); conn 649 drivers/target/iscsi/iscsi_target_nego.c struct iscsi_conn *conn; conn 656 drivers/target/iscsi/iscsi_target_nego.c conn = sk->sk_user_data; conn 657 drivers/target/iscsi/iscsi_target_nego.c if (!conn) { conn 661 drivers/target/iscsi/iscsi_target_nego.c orig_state_change = conn->orig_state_change; conn 663 drivers/target/iscsi/iscsi_target_nego.c if (!test_bit(LOGIN_FLAGS_READY, &conn->login_flags)) { conn 665 drivers/target/iscsi/iscsi_target_nego.c conn); conn 673 drivers/target/iscsi/iscsi_target_nego.c if (test_bit(LOGIN_FLAGS_READ_ACTIVE, &conn->login_flags)) { conn 675 drivers/target/iscsi/iscsi_target_nego.c " conn: %p\n", conn); conn 677 drivers/target/iscsi/iscsi_target_nego.c set_bit(LOGIN_FLAGS_CLOSED, &conn->login_flags); conn 682 drivers/target/iscsi/iscsi_target_nego.c if (test_bit(LOGIN_FLAGS_CLOSED, &conn->login_flags)) { conn 684 drivers/target/iscsi/iscsi_target_nego.c conn); conn 706 drivers/target/iscsi/iscsi_target_nego.c set_bit(LOGIN_FLAGS_CLOSED, &conn->login_flags); conn 707 drivers/target/iscsi/iscsi_target_nego.c state = test_bit(LOGIN_FLAGS_INITIAL_PDU, &conn->login_flags); conn 713 drivers/target/iscsi/iscsi_target_nego.c schedule_delayed_work(&conn->login_work, 0); conn 727 drivers/target/iscsi/iscsi_target_nego.c struct iscsi_conn *conn, conn 736 drivers/target/iscsi/iscsi_target_nego.c return iscsi_check_for_session_reinstatement(conn); conn 738 drivers/target/iscsi/iscsi_target_nego.c return iscsi_login_post_auth_non_zero_tsih(conn, login->cid, conn 743 drivers/target/iscsi/iscsi_target_nego.c struct iscsi_conn *conn, conn 756 drivers/target/iscsi/iscsi_target_nego.c param = iscsi_find_param_from_key(AUTHMETHOD, conn->param_list); conn 761 drivers/target/iscsi/iscsi_target_nego.c conn, conn 783 drivers/target/iscsi/iscsi_target_nego.c conn, login); conn 787 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 793 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, conn 802 drivers/target/iscsi/iscsi_target_nego.c struct iscsi_conn *conn, conn 815 drivers/target/iscsi/iscsi_target_nego.c param = iscsi_find_param_from_key(AUTHMETHOD, conn->param_list); conn 824 drivers/target/iscsi/iscsi_target_nego.c conn); conn 833 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 842 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 848 drivers/target/iscsi/iscsi_target_nego.c if (iscsi_target_check_first_request(conn, login) < 0) conn 856 drivers/target/iscsi/iscsi_target_nego.c conn->param_list, conn 857 drivers/target/iscsi/iscsi_target_nego.c conn->tpg->tpg_attrib.login_keys_workaround); conn 861 drivers/target/iscsi/iscsi_target_nego.c if (!iscsi_check_negotiated_keys(conn->param_list)) { conn 862 drivers/target/iscsi/iscsi_target_nego.c if (conn->tpg->tpg_attrib.authentication && conn 867 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 872 drivers/target/iscsi/iscsi_target_nego.c if (conn->tpg->tpg_attrib.authentication && conn 889 drivers/target/iscsi/iscsi_target_nego.c return iscsi_target_do_authentication(conn, login); conn 892 drivers/target/iscsi/iscsi_target_nego.c static int iscsi_target_handle_csg_one(struct iscsi_conn *conn, struct iscsi_login *login) conn 908 drivers/target/iscsi/iscsi_target_nego.c conn); conn 910 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 916 drivers/target/iscsi/iscsi_target_nego.c if (iscsi_target_check_first_request(conn, login) < 0) conn 919 drivers/target/iscsi/iscsi_target_nego.c if (iscsi_target_check_for_existing_instances(conn, login) < 0) conn 927 drivers/target/iscsi/iscsi_target_nego.c conn->param_list, conn 928 drivers/target/iscsi/iscsi_target_nego.c conn->tpg->tpg_attrib.login_keys_workaround); conn 930 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 936 drivers/target/iscsi/iscsi_target_nego.c conn->tpg->tpg_attrib.authentication) { conn 940 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 945 drivers/target/iscsi/iscsi_target_nego.c if (!iscsi_check_negotiated_keys(conn->param_list)) conn 954 drivers/target/iscsi/iscsi_target_nego.c static int iscsi_target_do_login(struct iscsi_conn *conn, struct iscsi_login *login) conn 966 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, conn 974 drivers/target/iscsi/iscsi_target_nego.c if (iscsi_target_handle_csg_zero(conn, login) < 0) conn 979 drivers/target/iscsi/iscsi_target_nego.c if (iscsi_target_handle_csg_one(conn, login) < 0) conn 988 drivers/target/iscsi/iscsi_target_nego.c if (iscsi_target_sk_check_close(conn)) conn 991 drivers/target/iscsi/iscsi_target_nego.c login->tsih = conn->sess->tsih; conn 993 drivers/target/iscsi/iscsi_target_nego.c iscsi_target_restore_sock_callbacks(conn); conn 994 drivers/target/iscsi/iscsi_target_nego.c if (iscsi_target_do_tx_login_io(conn, conn 1007 drivers/target/iscsi/iscsi_target_nego.c if (iscsi_target_do_tx_login_io(conn, login) < 0) conn 1040 drivers/target/iscsi/iscsi_target_nego.c struct iscsi_conn *conn, conn 1045 drivers/target/iscsi/iscsi_target_nego.c struct iscsi_session *sess = conn->sess; conn 1053 drivers/target/iscsi/iscsi_target_nego.c INIT_DELAYED_WORK(&conn->login_work, iscsi_target_do_login_rx); conn 1054 drivers/target/iscsi/iscsi_target_nego.c iscsi_target_set_sock_callbacks(conn); conn 1097 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 1115 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 1126 drivers/target/iscsi/iscsi_target_nego.c conn->tpg = iscsit_global->discovery_tpg; conn 1134 drivers/target/iscsi/iscsi_target_nego.c if (iscsi_login_setup_crypto(conn) < 0) { conn 1143 drivers/target/iscsi/iscsi_target_nego.c if (iscsit_access_np(np, conn->tpg) < 0) { conn 1144 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, conn 1158 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 1171 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, conn 1181 drivers/target/iscsi/iscsi_target_nego.c conn->tpg = iscsit_get_tpg_from_np(tiqn, np, &tpg_np); conn 1182 drivers/target/iscsi/iscsi_target_nego.c if (!conn->tpg) { conn 1186 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, conn 1191 drivers/target/iscsi/iscsi_target_nego.c conn->tpg_np = tpg_np; conn 1192 drivers/target/iscsi/iscsi_target_nego.c pr_debug("Located Portal Group Object: %hu\n", conn->tpg->tpgt); conn 1196 drivers/target/iscsi/iscsi_target_nego.c if (iscsi_login_setup_crypto(conn) < 0) { conn 1200 drivers/target/iscsi/iscsi_target_nego.c conn->tpg = NULL; conn 1208 drivers/target/iscsi/iscsi_target_nego.c if (iscsit_access_np(np, conn->tpg) < 0) { conn 1211 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, conn 1213 drivers/target/iscsi/iscsi_target_nego.c conn->tpg = NULL; conn 1237 drivers/target/iscsi/iscsi_target_nego.c &conn->tpg->tpg_se_tpg, i_buf); conn 1241 drivers/target/iscsi/iscsi_target_nego.c i_buf, conn->tpg->tpgt); conn 1242 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, conn 1260 drivers/target/iscsi/iscsi_target_nego.c tag_size = sizeof(struct iscsi_cmd) + conn->conn_transport->priv_size; conn 1264 drivers/target/iscsi/iscsi_target_nego.c iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, conn 1275 drivers/target/iscsi/iscsi_target_nego.c struct iscsi_conn *conn) conn 1279 drivers/target/iscsi/iscsi_target_nego.c if (conn->sock) { conn 1280 drivers/target/iscsi/iscsi_target_nego.c struct sock *sk = conn->sock->sk; conn 1283 drivers/target/iscsi/iscsi_target_nego.c set_bit(LOGIN_FLAGS_READY, &conn->login_flags); conn 1284 drivers/target/iscsi/iscsi_target_nego.c set_bit(LOGIN_FLAGS_INITIAL_PDU, &conn->login_flags); conn 1296 drivers/target/iscsi/iscsi_target_nego.c ret = iscsi_target_do_login(conn, login); conn 1297 drivers/target/iscsi/iscsi_target_nego.c if (!ret && iscsi_target_sk_check_and_clear(conn, LOGIN_FLAGS_INITIAL_PDU)) conn 1301 drivers/target/iscsi/iscsi_target_nego.c cancel_delayed_work_sync(&conn->login_work); conn 1302 drivers/target/iscsi/iscsi_target_nego.c iscsi_target_restore_sock_callbacks(conn); conn 1303 drivers/target/iscsi/iscsi_target_nego.c iscsi_remove_failed_auth_entry(conn); conn 1306 drivers/target/iscsi/iscsi_target_nego.c iscsi_target_nego_release(conn); conn 1311 drivers/target/iscsi/iscsi_target_nego.c void iscsi_target_nego_release(struct iscsi_conn *conn) conn 1313 drivers/target/iscsi/iscsi_target_nego.c struct iscsi_login *login = conn->conn_login; conn 1322 drivers/target/iscsi/iscsi_target_nego.c conn->conn_login = NULL; conn 100 drivers/target/iscsi/iscsi_target_nodeattrib.c struct iscsi_conn *conn; conn 131 drivers/target/iscsi/iscsi_target_nodeattrib.c list_for_each_entry(conn, &sess->sess_conn_list, conn 133 drivers/target/iscsi/iscsi_target_nodeattrib.c if (conn->conn_state != conn 137 drivers/target/iscsi/iscsi_target_nodeattrib.c spin_lock(&conn->nopin_timer_lock); conn 138 drivers/target/iscsi/iscsi_target_nodeattrib.c __iscsit_start_nopin_timer(conn); conn 139 drivers/target/iscsi/iscsi_target_nodeattrib.c spin_unlock(&conn->nopin_timer_lock); conn 18 drivers/target/iscsi/iscsi_target_parameters.c struct iscsi_conn *conn, conn 29 drivers/target/iscsi/iscsi_target_parameters.c rx_got = rx_data(conn, &iov, 1, length); conn 40 drivers/target/iscsi/iscsi_target_parameters.c struct iscsi_conn *conn, conn 60 drivers/target/iscsi/iscsi_target_parameters.c tx_sent = tx_data(conn, &iov[0], iov_cnt, length); conn 958 drivers/target/iscsi/iscsi_target_parameters.c struct iscsi_conn *conn) conn 1042 drivers/target/iscsi/iscsi_target_parameters.c conn->conn_ops->MaxRecvDataSegmentLength = tmp; conn 1045 drivers/target/iscsi/iscsi_target_parameters.c conn->conn_ops->MaxRecvDataSegmentLength); conn 1049 drivers/target/iscsi/iscsi_target_parameters.c conn->param_list); conn 1355 drivers/target/iscsi/iscsi_target_parameters.c struct iscsi_conn *conn) conn 1357 drivers/target/iscsi/iscsi_target_parameters.c struct iscsi_param_list *param_list = conn->param_list; conn 1407 drivers/target/iscsi/iscsi_target_parameters.c if (iscsi_check_acceptor_state(param, value, conn) < 0) conn 211 drivers/target/iscsi/iscsi_target_seq_pdu_list.c struct iscsi_conn *conn = cmd->conn; conn 214 drivers/target/iscsi/iscsi_target_seq_pdu_list.c mdsl = cmd->conn->conn_ops->MaxXmitDataSegmentLength; conn 216 drivers/target/iscsi/iscsi_target_seq_pdu_list.c mdsl = cmd->conn->conn_ops->MaxRecvDataSegmentLength; conn 225 drivers/target/iscsi/iscsi_target_seq_pdu_list.c conn->sess->sess_ops->FirstBurstLength); conn 247 drivers/target/iscsi/iscsi_target_seq_pdu_list.c >= conn->sess->sess_ops->FirstBurstLength) { conn 249 drivers/target/iscsi/iscsi_target_seq_pdu_list.c (conn->sess->sess_ops->FirstBurstLength - conn 251 drivers/target/iscsi/iscsi_target_seq_pdu_list.c offset += (conn->sess->sess_ops->FirstBurstLength - conn 267 drivers/target/iscsi/iscsi_target_seq_pdu_list.c conn->sess->sess_ops->MaxBurstLength) { conn 268 drivers/target/iscsi/iscsi_target_seq_pdu_list.c offset += (conn->sess->sess_ops->MaxBurstLength - conn 292 drivers/target/iscsi/iscsi_target_seq_pdu_list.c struct iscsi_conn *conn = cmd->conn; conn 297 drivers/target/iscsi/iscsi_target_seq_pdu_list.c mdsl = cmd->conn->conn_ops->MaxXmitDataSegmentLength; conn 299 drivers/target/iscsi/iscsi_target_seq_pdu_list.c mdsl = cmd->conn->conn_ops->MaxRecvDataSegmentLength; conn 301 drivers/target/iscsi/iscsi_target_seq_pdu_list.c datapduinorder = conn->sess->sess_ops->DataPDUInOrder; conn 302 drivers/target/iscsi/iscsi_target_seq_pdu_list.c datasequenceinorder = conn->sess->sess_ops->DataSequenceInOrder; conn 311 drivers/target/iscsi/iscsi_target_seq_pdu_list.c conn->sess->sess_ops->FirstBurstLength); conn 365 drivers/target/iscsi/iscsi_target_seq_pdu_list.c conn->sess->sess_ops->FirstBurstLength) { conn 369 drivers/target/iscsi/iscsi_target_seq_pdu_list.c (conn->sess->sess_ops->FirstBurstLength - conn 376 drivers/target/iscsi/iscsi_target_seq_pdu_list.c (conn->sess->sess_ops->FirstBurstLength - conn 380 drivers/target/iscsi/iscsi_target_seq_pdu_list.c (conn->sess->sess_ops->FirstBurstLength - conn 382 drivers/target/iscsi/iscsi_target_seq_pdu_list.c offset += (conn->sess->sess_ops->FirstBurstLength - conn 414 drivers/target/iscsi/iscsi_target_seq_pdu_list.c conn->sess->sess_ops->MaxBurstLength) { conn 418 drivers/target/iscsi/iscsi_target_seq_pdu_list.c (conn->sess->sess_ops->MaxBurstLength - conn 425 drivers/target/iscsi/iscsi_target_seq_pdu_list.c (conn->sess->sess_ops->MaxBurstLength - conn 428 drivers/target/iscsi/iscsi_target_seq_pdu_list.c offset += (conn->sess->sess_ops->MaxBurstLength - conn 492 drivers/target/iscsi/iscsi_target_seq_pdu_list.c struct iscsi_conn *conn = cmd->conn; conn 496 drivers/target/iscsi/iscsi_target_seq_pdu_list.c struct iscsi_session *sess = conn->sess; conn 537 drivers/target/iscsi/iscsi_target_seq_pdu_list.c if (!conn->sess->sess_ops->DataSequenceInOrder) { conn 547 drivers/target/iscsi/iscsi_target_seq_pdu_list.c if (!conn->sess->sess_ops->DataPDUInOrder) { conn 590 drivers/target/iscsi/iscsi_target_seq_pdu_list.c struct iscsi_conn *conn = cmd->conn; conn 598 drivers/target/iscsi/iscsi_target_seq_pdu_list.c if (conn->sess->sess_ops->DataSequenceInOrder) { conn 35 drivers/target/iscsi/iscsi_target_tmr.c struct iscsi_conn *conn = cmd->conn; conn 40 drivers/target/iscsi/iscsi_target_tmr.c ref_cmd = iscsit_find_cmd_from_itt(conn, hdr->rtt); conn 43 drivers/target/iscsi/iscsi_target_tmr.c " %hu.\n", hdr->rtt, conn->cid); conn 44 drivers/target/iscsi/iscsi_target_tmr.c return (iscsi_sna_gte(be32_to_cpu(hdr->refcmdsn), conn->sess->exp_cmd_sn) && conn 45 drivers/target/iscsi/iscsi_target_tmr.c iscsi_sna_lte(be32_to_cpu(hdr->refcmdsn), (u32) atomic_read(&conn->sess->max_cmd_sn))) ? conn 66 drivers/target/iscsi/iscsi_target_tmr.c struct iscsi_conn *conn, conn 70 drivers/target/iscsi/iscsi_target_tmr.c struct iscsi_session *sess = conn->sess; conn 86 drivers/target/iscsi/iscsi_target_tmr.c struct iscsi_conn *conn, conn 90 drivers/target/iscsi/iscsi_target_tmr.c struct iscsi_session *sess = conn->sess; conn 110 drivers/target/iscsi/iscsi_target_tmr.c struct iscsi_conn *conn = cmd->conn; conn 119 drivers/target/iscsi/iscsi_target_tmr.c hdr->itt, hdr->rtt, hdr->exp_datasn, conn->cid); conn 121 drivers/target/iscsi/iscsi_target_tmr.c if (conn->sess->sess_ops->ErrorRecoveryLevel != 2) { conn 127 drivers/target/iscsi/iscsi_target_tmr.c ret = iscsit_find_cmd_for_recovery(conn->sess, &ref_cmd, &cr, hdr->rtt); conn 142 drivers/target/iscsi/iscsi_target_tmr.c conn->conn_ops->MaxRecvDataSegmentLength) { conn 149 drivers/target/iscsi/iscsi_target_tmr.c conn->conn_ops->MaxXmitDataSegmentLength) { conn 196 drivers/target/iscsi/iscsi_target_tmr.c struct iscsi_conn *conn) conn 215 drivers/target/iscsi/iscsi_target_tmr.c iscsit_task_reassign_remove_cmd(cmd, cr, conn->sess); conn 217 drivers/target/iscsi/iscsi_target_tmr.c spin_lock_bh(&conn->cmd_lock); conn 218 drivers/target/iscsi/iscsi_target_tmr.c list_add_tail(&cmd->i_conn_node, &conn->conn_cmd_list); conn 219 drivers/target/iscsi/iscsi_target_tmr.c spin_unlock_bh(&conn->cmd_lock); conn 222 drivers/target/iscsi/iscsi_target_tmr.c iscsit_add_cmd_to_response_queue(cmd, conn, cmd->i_state); conn 232 drivers/target/iscsi/iscsi_target_tmr.c struct iscsi_conn *conn = cmd->conn; conn 261 drivers/target/iscsi/iscsi_target_tmr.c iscsit_add_cmd_to_response_queue(cmd, conn, cmd->i_state); conn 274 drivers/target/iscsi/iscsi_target_tmr.c if ((conn->sess->sess_ops->FirstBurstLength - offset) >= conn 279 drivers/target/iscsi/iscsi_target_tmr.c length = (conn->sess->sess_ops->FirstBurstLength - offset); conn 295 drivers/target/iscsi/iscsi_target_tmr.c return conn->conn_transport->iscsit_get_dataout(conn, cmd, true); conn 302 drivers/target/iscsi/iscsi_target_tmr.c struct iscsi_conn *conn = cmd->conn; conn 347 drivers/target/iscsi/iscsi_target_tmr.c iscsit_add_cmd_to_response_queue(cmd, conn, cmd->i_state); conn 355 drivers/target/iscsi/iscsi_target_tmr.c struct iscsi_conn *conn = cmd->conn; conn 358 drivers/target/iscsi/iscsi_target_tmr.c iscsit_add_cmd_to_response_queue(cmd, conn, cmd->i_state); conn 364 drivers/target/iscsi/iscsi_target_tmr.c struct iscsi_conn *conn) conn 383 drivers/target/iscsi/iscsi_target_tmr.c iscsit_task_reassign_remove_cmd(cmd, cr, conn->sess); conn 385 drivers/target/iscsi/iscsi_target_tmr.c spin_lock_bh(&conn->cmd_lock); conn 386 drivers/target/iscsi/iscsi_target_tmr.c list_add_tail(&cmd->i_conn_node, &conn->conn_cmd_list); conn 387 drivers/target/iscsi/iscsi_target_tmr.c spin_unlock_bh(&conn->cmd_lock); conn 391 drivers/target/iscsi/iscsi_target_tmr.c iscsit_add_cmd_to_response_queue(cmd, conn, cmd->i_state); conn 413 drivers/target/iscsi/iscsi_target_tmr.c struct iscsi_conn *conn) conn 424 drivers/target/iscsi/iscsi_target_tmr.c cmd->conn = conn; conn 428 drivers/target/iscsi/iscsi_target_tmr.c ret = iscsit_task_reassign_complete_nop_out(tmr_req, conn); conn 431 drivers/target/iscsi/iscsi_target_tmr.c ret = iscsit_task_reassign_complete_scsi_cmnd(tmr_req, conn); conn 444 drivers/target/iscsi/iscsi_target_tmr.c cmd->init_task_tag, conn->cid); conn 454 drivers/target/iscsi/iscsi_target_tmr.c int iscsit_tmr_post_handler(struct iscsi_cmd *cmd, struct iscsi_conn *conn) conn 461 drivers/target/iscsi/iscsi_target_tmr.c return iscsit_task_reassign_complete(tmr_req, conn); conn 472 drivers/target/iscsi/iscsi_target_tmr.c struct iscsi_conn *conn) conn 479 drivers/target/iscsi/iscsi_target_tmr.c struct iscsi_conn *conn) conn 485 drivers/target/iscsi/iscsi_target_tmr.c if (conn->sess->sess_ops->DataSequenceInOrder) { conn 492 drivers/target/iscsi/iscsi_target_tmr.c if (conn->sess->sess_ops->DataPDUInOrder) { conn 530 drivers/target/iscsi/iscsi_target_tmr.c if (conn->sess->sess_ops->DataPDUInOrder) conn 547 drivers/target/iscsi/iscsi_target_tmr.c struct iscsi_conn *conn) conn 559 drivers/target/iscsi/iscsi_target_tmr.c iscsit_task_reassign_prepare_unsolicited_dataout(cmd, conn); conn 635 drivers/target/iscsi/iscsi_target_tmr.c if (conn->sess->sess_ops->DataSequenceInOrder) { conn 641 drivers/target/iscsi/iscsi_target_tmr.c if (conn->sess->sess_ops->DataPDUInOrder) { conn 687 drivers/target/iscsi/iscsi_target_tmr.c if (conn->sess->sess_ops->DataPDUInOrder) conn 761 drivers/target/iscsi/iscsi_target_tmr.c if (conn->sess->sess_ops->DataSequenceInOrder) conn 780 drivers/target/iscsi/iscsi_target_tmr.c struct iscsi_conn *conn) conn 817 drivers/target/iscsi/iscsi_target_tmr.c return iscsit_task_reassign_prepare_read(tmr_req, conn); conn 834 drivers/target/iscsi/iscsi_target_tmr.c return iscsit_task_reassign_prepare_write(tmr_req, conn); conn 78 drivers/target/iscsi/iscsi_target_util.c iscsit_add_cmd_to_immediate_queue(cmd, cmd->conn, ISTATE_SEND_R2T); conn 172 drivers/target/iscsi/iscsi_target_util.c struct iscsi_cmd *iscsit_allocate_cmd(struct iscsi_conn *conn, int state) conn 175 drivers/target/iscsi/iscsi_target_util.c struct se_session *se_sess = conn->sess->se_sess; conn 184 drivers/target/iscsi/iscsi_target_util.c size = sizeof(struct iscsi_cmd) + conn->conn_transport->priv_size; conn 190 drivers/target/iscsi/iscsi_target_util.c cmd->conn = conn; conn 302 drivers/target/iscsi/iscsi_target_util.c int iscsit_sequence_cmd(struct iscsi_conn *conn, struct iscsi_cmd *cmd, conn 309 drivers/target/iscsi/iscsi_target_util.c mutex_lock(&conn->sess->cmdsn_mutex); conn 311 drivers/target/iscsi/iscsi_target_util.c cmdsn_ret = iscsit_check_received_cmdsn(conn->sess, be32_to_cpu(cmdsn)); conn 315 drivers/target/iscsi/iscsi_target_util.c if ((ret >= 0) && !list_empty(&conn->sess->sess_ooo_cmdsn_list)) conn 316 drivers/target/iscsi/iscsi_target_util.c iscsit_execute_ooo_cmdsns(conn->sess); conn 323 drivers/target/iscsi/iscsi_target_util.c ret = iscsit_handle_ooo_cmdsn(conn->sess, cmd, be32_to_cpu(cmdsn)); conn 335 drivers/target/iscsi/iscsi_target_util.c iscsit_add_cmd_to_immediate_queue(cmd, conn, cmd->i_state); conn 344 drivers/target/iscsi/iscsi_target_util.c mutex_unlock(&conn->sess->cmdsn_mutex); conn 355 drivers/target/iscsi/iscsi_target_util.c struct iscsi_conn *conn = cmd->conn; conn 360 drivers/target/iscsi/iscsi_target_util.c if (conn->sess->sess_ops->InitialR2T) { conn 369 drivers/target/iscsi/iscsi_target_util.c conn->sess->sess_ops->FirstBurstLength) { conn 373 drivers/target/iscsi/iscsi_target_util.c conn->sess->sess_ops->FirstBurstLength); conn 384 drivers/target/iscsi/iscsi_target_util.c conn->sess->sess_ops->FirstBurstLength)) { conn 389 drivers/target/iscsi/iscsi_target_util.c conn->sess->sess_ops->FirstBurstLength, cmd->se_cmd.data_length); conn 398 drivers/target/iscsi/iscsi_target_util.c struct iscsi_conn *conn, conn 403 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->cmd_lock); conn 404 drivers/target/iscsi/iscsi_target_util.c list_for_each_entry(cmd, &conn->conn_cmd_list, i_conn_node) { conn 406 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->cmd_lock); conn 410 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->cmd_lock); conn 413 drivers/target/iscsi/iscsi_target_util.c init_task_tag, conn->cid); conn 419 drivers/target/iscsi/iscsi_target_util.c struct iscsi_conn *conn, conn 425 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->cmd_lock); conn 426 drivers/target/iscsi/iscsi_target_util.c list_for_each_entry(cmd, &conn->conn_cmd_list, i_conn_node) { conn 430 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->cmd_lock); conn 434 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->cmd_lock); conn 437 drivers/target/iscsi/iscsi_target_util.c " dumping payload\n", init_task_tag, conn->cid); conn 439 drivers/target/iscsi/iscsi_target_util.c iscsit_dump_data_payload(conn, length, 1); conn 446 drivers/target/iscsi/iscsi_target_util.c struct iscsi_conn *conn, conn 451 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->cmd_lock); conn 452 drivers/target/iscsi/iscsi_target_util.c list_for_each_entry(cmd, &conn->conn_cmd_list, i_conn_node) { conn 454 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->cmd_lock); conn 458 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->cmd_lock); conn 461 drivers/target/iscsi/iscsi_target_util.c targ_xfer_tag, conn->cid); conn 519 drivers/target/iscsi/iscsi_target_util.c struct iscsi_conn *conn, conn 534 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->immed_queue_lock); conn 535 drivers/target/iscsi/iscsi_target_util.c list_add_tail(&qr->qr_list, &conn->immed_queue_list); conn 537 drivers/target/iscsi/iscsi_target_util.c atomic_set(&conn->check_immediate_queue, 1); conn 538 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->immed_queue_lock); conn 540 drivers/target/iscsi/iscsi_target_util.c wake_up(&conn->queues_wq); conn 544 drivers/target/iscsi/iscsi_target_util.c struct iscsi_queue_req *iscsit_get_cmd_from_immediate_queue(struct iscsi_conn *conn) conn 548 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->immed_queue_lock); conn 549 drivers/target/iscsi/iscsi_target_util.c if (list_empty(&conn->immed_queue_list)) { conn 550 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->immed_queue_lock); conn 553 drivers/target/iscsi/iscsi_target_util.c qr = list_first_entry(&conn->immed_queue_list, conn 559 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->immed_queue_lock); conn 566 drivers/target/iscsi/iscsi_target_util.c struct iscsi_conn *conn) conn 570 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->immed_queue_lock); conn 572 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->immed_queue_lock); conn 576 drivers/target/iscsi/iscsi_target_util.c list_for_each_entry_safe(qr, qr_tmp, &conn->immed_queue_list, qr_list) { conn 584 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->immed_queue_lock); conn 595 drivers/target/iscsi/iscsi_target_util.c struct iscsi_conn *conn, conn 610 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->response_queue_lock); conn 611 drivers/target/iscsi/iscsi_target_util.c list_add_tail(&qr->qr_list, &conn->response_queue_list); conn 613 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->response_queue_lock); conn 615 drivers/target/iscsi/iscsi_target_util.c wake_up(&conn->queues_wq); conn 619 drivers/target/iscsi/iscsi_target_util.c struct iscsi_queue_req *iscsit_get_cmd_from_response_queue(struct iscsi_conn *conn) conn 623 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->response_queue_lock); conn 624 drivers/target/iscsi/iscsi_target_util.c if (list_empty(&conn->response_queue_list)) { conn 625 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->response_queue_lock); conn 629 drivers/target/iscsi/iscsi_target_util.c qr = list_first_entry(&conn->response_queue_list, conn 635 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->response_queue_lock); conn 642 drivers/target/iscsi/iscsi_target_util.c struct iscsi_conn *conn) conn 646 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->response_queue_lock); conn 648 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->response_queue_lock); conn 652 drivers/target/iscsi/iscsi_target_util.c list_for_each_entry_safe(qr, qr_tmp, &conn->response_queue_list, conn 661 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->response_queue_lock); conn 670 drivers/target/iscsi/iscsi_target_util.c bool iscsit_conn_all_queues_empty(struct iscsi_conn *conn) conn 674 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->immed_queue_lock); conn 675 drivers/target/iscsi/iscsi_target_util.c empty = list_empty(&conn->immed_queue_list); conn 676 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->immed_queue_lock); conn 681 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->response_queue_lock); conn 682 drivers/target/iscsi/iscsi_target_util.c empty = list_empty(&conn->response_queue_list); conn 683 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->response_queue_lock); conn 688 drivers/target/iscsi/iscsi_target_util.c void iscsit_free_queue_reqs_for_conn(struct iscsi_conn *conn) conn 692 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->immed_queue_lock); conn 693 drivers/target/iscsi/iscsi_target_util.c list_for_each_entry_safe(qr, qr_tmp, &conn->immed_queue_list, qr_list) { conn 700 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->immed_queue_lock); conn 702 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->response_queue_lock); conn 703 drivers/target/iscsi/iscsi_target_util.c list_for_each_entry_safe(qr, qr_tmp, &conn->response_queue_list, conn 711 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->response_queue_lock); conn 721 drivers/target/iscsi/iscsi_target_util.c if (cmd->conn) conn 722 drivers/target/iscsi/iscsi_target_util.c sess = cmd->conn->sess; conn 742 drivers/target/iscsi/iscsi_target_util.c struct iscsi_conn *conn = cmd->conn; conn 753 drivers/target/iscsi/iscsi_target_util.c if (conn && check_queues) { conn 754 drivers/target/iscsi/iscsi_target_util.c iscsit_remove_cmd_from_immediate_queue(cmd, conn); conn 755 drivers/target/iscsi/iscsi_target_util.c iscsit_remove_cmd_from_response_queue(cmd, conn); conn 758 drivers/target/iscsi/iscsi_target_util.c if (conn && conn->conn_transport->iscsit_unmap_cmd) conn 759 drivers/target/iscsi/iscsi_target_util.c conn->conn_transport->iscsit_unmap_cmd(conn, cmd); conn 819 drivers/target/iscsi/iscsi_target_util.c struct iscsi_conn *conn; conn 822 drivers/target/iscsi/iscsi_target_util.c list_for_each_entry(conn, &sess->sess_conn_list, conn_list) { conn 823 drivers/target/iscsi/iscsi_target_util.c if ((conn->cid == cid) && conn 824 drivers/target/iscsi/iscsi_target_util.c (conn->conn_state == TARG_CONN_STATE_LOGGED_IN)) { conn 825 drivers/target/iscsi/iscsi_target_util.c iscsit_inc_conn_usage_count(conn); conn 827 drivers/target/iscsi/iscsi_target_util.c return conn; conn 837 drivers/target/iscsi/iscsi_target_util.c struct iscsi_conn *conn; conn 840 drivers/target/iscsi/iscsi_target_util.c list_for_each_entry(conn, &sess->sess_conn_list, conn_list) { conn 841 drivers/target/iscsi/iscsi_target_util.c if (conn->cid == cid) { conn 842 drivers/target/iscsi/iscsi_target_util.c iscsit_inc_conn_usage_count(conn); conn 843 drivers/target/iscsi/iscsi_target_util.c spin_lock(&conn->state_lock); conn 844 drivers/target/iscsi/iscsi_target_util.c atomic_set(&conn->connection_wait_rcfr, 1); conn 845 drivers/target/iscsi/iscsi_target_util.c spin_unlock(&conn->state_lock); conn 847 drivers/target/iscsi/iscsi_target_util.c return conn; conn 855 drivers/target/iscsi/iscsi_target_util.c void iscsit_check_conn_usage_count(struct iscsi_conn *conn) conn 857 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->conn_usage_lock); conn 858 drivers/target/iscsi/iscsi_target_util.c if (conn->conn_usage_count != 0) { conn 859 drivers/target/iscsi/iscsi_target_util.c conn->conn_waiting_on_uc = 1; conn 860 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->conn_usage_lock); conn 862 drivers/target/iscsi/iscsi_target_util.c wait_for_completion(&conn->conn_waiting_on_uc_comp); conn 865 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->conn_usage_lock); conn 868 drivers/target/iscsi/iscsi_target_util.c void iscsit_dec_conn_usage_count(struct iscsi_conn *conn) conn 870 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->conn_usage_lock); conn 871 drivers/target/iscsi/iscsi_target_util.c conn->conn_usage_count--; conn 873 drivers/target/iscsi/iscsi_target_util.c if (!conn->conn_usage_count && conn->conn_waiting_on_uc) conn 874 drivers/target/iscsi/iscsi_target_util.c complete(&conn->conn_waiting_on_uc_comp); conn 876 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->conn_usage_lock); conn 879 drivers/target/iscsi/iscsi_target_util.c void iscsit_inc_conn_usage_count(struct iscsi_conn *conn) conn 881 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->conn_usage_lock); conn 882 drivers/target/iscsi/iscsi_target_util.c conn->conn_usage_count++; conn 883 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->conn_usage_lock); conn 886 drivers/target/iscsi/iscsi_target_util.c static int iscsit_add_nopin(struct iscsi_conn *conn, int want_response) conn 891 drivers/target/iscsi/iscsi_target_util.c cmd = iscsit_allocate_cmd(conn, TASK_RUNNING); conn 900 drivers/target/iscsi/iscsi_target_util.c session_get_next_ttt(conn->sess) : 0xFFFFFFFF; conn 901 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->cmd_lock); conn 902 drivers/target/iscsi/iscsi_target_util.c list_add_tail(&cmd->i_conn_node, &conn->conn_cmd_list); conn 903 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->cmd_lock); conn 906 drivers/target/iscsi/iscsi_target_util.c iscsit_start_nopin_response_timer(conn); conn 907 drivers/target/iscsi/iscsi_target_util.c iscsit_add_cmd_to_immediate_queue(cmd, conn, state); conn 914 drivers/target/iscsi/iscsi_target_util.c struct iscsi_conn *conn = from_timer(conn, t, nopin_response_timer); conn 915 drivers/target/iscsi/iscsi_target_util.c struct iscsi_session *sess = conn->sess; conn 917 drivers/target/iscsi/iscsi_target_util.c iscsit_inc_conn_usage_count(conn); conn 919 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->nopin_timer_lock); conn 920 drivers/target/iscsi/iscsi_target_util.c if (conn->nopin_response_timer_flags & ISCSI_TF_STOP) { conn 921 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->nopin_timer_lock); conn 922 drivers/target/iscsi/iscsi_target_util.c iscsit_dec_conn_usage_count(conn); conn 928 drivers/target/iscsi/iscsi_target_util.c conn->cid, sess->sess_ops->InitiatorName, sess->isid, conn 930 drivers/target/iscsi/iscsi_target_util.c conn->nopin_response_timer_flags &= ~ISCSI_TF_RUNNING; conn 931 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->nopin_timer_lock); conn 934 drivers/target/iscsi/iscsi_target_util.c iscsit_cause_connection_reinstatement(conn, 0); conn 935 drivers/target/iscsi/iscsi_target_util.c iscsit_dec_conn_usage_count(conn); conn 938 drivers/target/iscsi/iscsi_target_util.c void iscsit_mod_nopin_response_timer(struct iscsi_conn *conn) conn 940 drivers/target/iscsi/iscsi_target_util.c struct iscsi_session *sess = conn->sess; conn 943 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->nopin_timer_lock); conn 944 drivers/target/iscsi/iscsi_target_util.c if (!(conn->nopin_response_timer_flags & ISCSI_TF_RUNNING)) { conn 945 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->nopin_timer_lock); conn 949 drivers/target/iscsi/iscsi_target_util.c mod_timer(&conn->nopin_response_timer, conn 951 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->nopin_timer_lock); conn 954 drivers/target/iscsi/iscsi_target_util.c void iscsit_start_nopin_response_timer(struct iscsi_conn *conn) conn 956 drivers/target/iscsi/iscsi_target_util.c struct iscsi_session *sess = conn->sess; conn 959 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->nopin_timer_lock); conn 960 drivers/target/iscsi/iscsi_target_util.c if (conn->nopin_response_timer_flags & ISCSI_TF_RUNNING) { conn 961 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->nopin_timer_lock); conn 965 drivers/target/iscsi/iscsi_target_util.c conn->nopin_response_timer_flags &= ~ISCSI_TF_STOP; conn 966 drivers/target/iscsi/iscsi_target_util.c conn->nopin_response_timer_flags |= ISCSI_TF_RUNNING; conn 967 drivers/target/iscsi/iscsi_target_util.c mod_timer(&conn->nopin_response_timer, conn 971 drivers/target/iscsi/iscsi_target_util.c " seconds\n", conn->cid, na->nopin_response_timeout); conn 972 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->nopin_timer_lock); conn 975 drivers/target/iscsi/iscsi_target_util.c void iscsit_stop_nopin_response_timer(struct iscsi_conn *conn) conn 977 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->nopin_timer_lock); conn 978 drivers/target/iscsi/iscsi_target_util.c if (!(conn->nopin_response_timer_flags & ISCSI_TF_RUNNING)) { conn 979 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->nopin_timer_lock); conn 982 drivers/target/iscsi/iscsi_target_util.c conn->nopin_response_timer_flags |= ISCSI_TF_STOP; conn 983 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->nopin_timer_lock); conn 985 drivers/target/iscsi/iscsi_target_util.c del_timer_sync(&conn->nopin_response_timer); conn 987 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->nopin_timer_lock); conn 988 drivers/target/iscsi/iscsi_target_util.c conn->nopin_response_timer_flags &= ~ISCSI_TF_RUNNING; conn 989 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->nopin_timer_lock); conn 994 drivers/target/iscsi/iscsi_target_util.c struct iscsi_conn *conn = from_timer(conn, t, nopin_timer); conn 996 drivers/target/iscsi/iscsi_target_util.c iscsit_inc_conn_usage_count(conn); conn 998 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->nopin_timer_lock); conn 999 drivers/target/iscsi/iscsi_target_util.c if (conn->nopin_timer_flags & ISCSI_TF_STOP) { conn 1000 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->nopin_timer_lock); conn 1001 drivers/target/iscsi/iscsi_target_util.c iscsit_dec_conn_usage_count(conn); conn 1004 drivers/target/iscsi/iscsi_target_util.c conn->nopin_timer_flags &= ~ISCSI_TF_RUNNING; conn 1005 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->nopin_timer_lock); conn 1007 drivers/target/iscsi/iscsi_target_util.c iscsit_add_nopin(conn, 1); conn 1008 drivers/target/iscsi/iscsi_target_util.c iscsit_dec_conn_usage_count(conn); conn 1011 drivers/target/iscsi/iscsi_target_util.c void __iscsit_start_nopin_timer(struct iscsi_conn *conn) conn 1013 drivers/target/iscsi/iscsi_target_util.c struct iscsi_session *sess = conn->sess; conn 1016 drivers/target/iscsi/iscsi_target_util.c lockdep_assert_held(&conn->nopin_timer_lock); conn 1024 drivers/target/iscsi/iscsi_target_util.c if (conn->nopin_timer_flags & ISCSI_TF_RUNNING) conn 1027 drivers/target/iscsi/iscsi_target_util.c conn->nopin_timer_flags &= ~ISCSI_TF_STOP; conn 1028 drivers/target/iscsi/iscsi_target_util.c conn->nopin_timer_flags |= ISCSI_TF_RUNNING; conn 1029 drivers/target/iscsi/iscsi_target_util.c mod_timer(&conn->nopin_timer, jiffies + na->nopin_timeout * HZ); conn 1032 drivers/target/iscsi/iscsi_target_util.c " interval\n", conn->cid, na->nopin_timeout); conn 1035 drivers/target/iscsi/iscsi_target_util.c void iscsit_start_nopin_timer(struct iscsi_conn *conn) conn 1037 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->nopin_timer_lock); conn 1038 drivers/target/iscsi/iscsi_target_util.c __iscsit_start_nopin_timer(conn); conn 1039 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->nopin_timer_lock); conn 1042 drivers/target/iscsi/iscsi_target_util.c void iscsit_stop_nopin_timer(struct iscsi_conn *conn) conn 1044 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->nopin_timer_lock); conn 1045 drivers/target/iscsi/iscsi_target_util.c if (!(conn->nopin_timer_flags & ISCSI_TF_RUNNING)) { conn 1046 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->nopin_timer_lock); conn 1049 drivers/target/iscsi/iscsi_target_util.c conn->nopin_timer_flags |= ISCSI_TF_STOP; conn 1050 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->nopin_timer_lock); conn 1052 drivers/target/iscsi/iscsi_target_util.c del_timer_sync(&conn->nopin_timer); conn 1054 drivers/target/iscsi/iscsi_target_util.c spin_lock_bh(&conn->nopin_timer_lock); conn 1055 drivers/target/iscsi/iscsi_target_util.c conn->nopin_timer_flags &= ~ISCSI_TF_RUNNING; conn 1056 drivers/target/iscsi/iscsi_target_util.c spin_unlock_bh(&conn->nopin_timer_lock); conn 1061 drivers/target/iscsi/iscsi_target_util.c struct iscsi_conn *conn, conn 1079 drivers/target/iscsi/iscsi_target_util.c tx_sent = tx_data(conn, &iov[0], iov_count, tx_size); conn 1094 drivers/target/iscsi/iscsi_target_util.c struct iscsi_conn *conn) conn 1104 drivers/target/iscsi/iscsi_target_util.c if (conn->conn_ops->HeaderDigest) conn 1110 drivers/target/iscsi/iscsi_target_util.c tx_sent = tx_data(conn, &iov, 1, tx_hdr_size); conn 1124 drivers/target/iscsi/iscsi_target_util.c if (conn->conn_ops->DataDigest) { conn 1140 drivers/target/iscsi/iscsi_target_util.c tx_sent = conn->sock->ops->sendpage(conn->sock, conn 1163 drivers/target/iscsi/iscsi_target_util.c tx_sent = tx_data(conn, iov_p, 1, cmd->padding); conn 1174 drivers/target/iscsi/iscsi_target_util.c if (conn->conn_ops->DataDigest) { conn 1177 drivers/target/iscsi/iscsi_target_util.c tx_sent = tx_data(conn, iov_d, 1, ISCSI_CRC_LEN); conn 1198 drivers/target/iscsi/iscsi_target_util.c int iscsit_tx_login_rsp(struct iscsi_conn *conn, u8 status_class, u8 status_detail) conn 1201 drivers/target/iscsi/iscsi_target_util.c struct iscsi_login *login = conn->conn_login; conn 1204 drivers/target/iscsi/iscsi_target_util.c iscsit_collect_login_stats(conn, status_class, status_detail); conn 1212 drivers/target/iscsi/iscsi_target_util.c hdr->itt = conn->login_itt; conn 1214 drivers/target/iscsi/iscsi_target_util.c return conn->conn_transport->iscsit_put_login_tx(conn, login, 0); conn 1219 drivers/target/iscsi/iscsi_target_util.c struct iscsi_conn *conn; conn 1224 drivers/target/iscsi/iscsi_target_util.c list_for_each_entry(conn, &sess->sess_conn_list, conn_list) conn 1225 drivers/target/iscsi/iscsi_target_util.c iscsi_dump_conn_ops(conn->conn_ops); conn 1232 drivers/target/iscsi/iscsi_target_util.c struct iscsi_conn *conn, conn 1238 drivers/target/iscsi/iscsi_target_util.c if (!conn || !conn->sock || !conn->conn_ops) conn 1245 drivers/target/iscsi/iscsi_target_util.c rx_loop = sock_recvmsg(conn->sock, &msg, MSG_WAITALL); conn 1260 drivers/target/iscsi/iscsi_target_util.c struct iscsi_conn *conn, conn 1267 drivers/target/iscsi/iscsi_target_util.c if (!conn || !conn->sock || !conn->conn_ops) conn 1276 drivers/target/iscsi/iscsi_target_util.c return iscsit_do_rx_data(conn, &c); conn 1280 drivers/target/iscsi/iscsi_target_util.c struct iscsi_conn *conn, conn 1288 drivers/target/iscsi/iscsi_target_util.c if (!conn || !conn->sock || !conn->conn_ops) conn 1301 drivers/target/iscsi/iscsi_target_util.c int tx_loop = sock_sendmsg(conn->sock, &msg); conn 1316 drivers/target/iscsi/iscsi_target_util.c struct iscsi_conn *conn, conn 1324 drivers/target/iscsi/iscsi_target_util.c tiqn = iscsit_snmp_get_tiqn(conn); conn 1355 drivers/target/iscsi/iscsi_target_util.c if (conn->param_list) conn 1357 drivers/target/iscsi/iscsi_target_util.c conn->param_list); conn 1362 drivers/target/iscsi/iscsi_target_util.c ls->last_intr_fail_ip_family = conn->login_family; conn 1364 drivers/target/iscsi/iscsi_target_util.c ls->last_intr_fail_sockaddr = conn->login_sockaddr; conn 1371 drivers/target/iscsi/iscsi_target_util.c struct iscsi_tiqn *iscsit_snmp_get_tiqn(struct iscsi_conn *conn) conn 1375 drivers/target/iscsi/iscsi_target_util.c if (!conn) conn 1378 drivers/target/iscsi/iscsi_target_util.c tpg = conn->tpg; conn 25 drivers/target/iscsi/iscsi_target_util.h extern int iscsit_sequence_cmd(struct iscsi_conn *conn, struct iscsi_cmd *cmd, conn 1400 drivers/tty/serial/pmac_zilog.c const char *conn; conn 1453 drivers/tty/serial/pmac_zilog.c conn = of_get_property(np, "AAPL,connector", &len); conn 1454 drivers/tty/serial/pmac_zilog.c if (conn && (strcmp(conn, "infrared") == 0)) conn 1118 drivers/usb/gadget/udc/lpc32xx_udc.c static void uda_power_event(struct lpc32xx_udc *udc, u32 conn) conn 1122 drivers/usb/gadget/udc/lpc32xx_udc.c udc->board->conn_chgb(conn); conn 1126 drivers/usb/gadget/udc/lpc32xx_udc.c static void uda_resm_susp_event(struct lpc32xx_udc *udc, u32 conn) conn 1130 drivers/usb/gadget/udc/lpc32xx_udc.c udc->board->susp_chgb(conn); conn 1132 drivers/usb/gadget/udc/lpc32xx_udc.c if (conn) conn 2972 drivers/usb/gadget/udc/lpc32xx_udc.c static void lpc32xx_usbd_conn_chg(int conn) conn 141 drivers/video/fbdev/aty/radeon_i2c.c int radeon_probe_i2c_connector(struct radeonfb_info *rinfo, int conn, conn 146 drivers/video/fbdev/aty/radeon_i2c.c edid = fb_ddc_read(&rinfo->i2c[conn-1].adapter); conn 151 drivers/video/fbdev/aty/radeon_i2c.c pr_debug("radeonfb: I2C (port %d) ... not found\n", conn); conn 158 drivers/video/fbdev/aty/radeon_i2c.c pr_debug("radeonfb: I2C (port %d) ... found LVDS panel\n", conn); conn 161 drivers/video/fbdev/aty/radeon_i2c.c pr_debug("radeonfb: I2C (port %d) ... found TMDS panel\n", conn); conn 165 drivers/video/fbdev/aty/radeon_i2c.c pr_debug("radeonfb: I2C (port %d) ... found CRT display\n", conn); conn 257 drivers/video/fbdev/aty/radeon_monitor.c int offset, chips, connectors, tmp, i, conn, type; conn 283 drivers/video/fbdev/aty/radeon_monitor.c for (conn = 0; ; conn++) { conn 290 drivers/video/fbdev/aty/radeon_monitor.c conn, type, __conn_type_table[type], tmp); conn 483 drivers/video/fbdev/aty/radeonfb.h extern int radeon_probe_i2c_connector(struct radeonfb_info *rinfo, int conn, u8 **out_edid); conn 155 drivers/video/fbdev/i810/i810-i2c.c int i810_probe_i2c_connector(struct fb_info *info, u8 **out_edid, int conn) conn 160 drivers/video/fbdev/i810/i810-i2c.c DPRINTK("i810-i2c: Probe DDC%i Bus\n", conn+1); conn 161 drivers/video/fbdev/i810/i810-i2c.c if (conn < par->ddc_num) { conn 162 drivers/video/fbdev/i810/i810-i2c.c edid = fb_ddc_read(&par->chan[conn].adapter); conn 40 drivers/video/fbdev/i810/i810_main.h int conn); conn 45 drivers/video/fbdev/i810/i810_main.h int conn) conn 1036 drivers/video/fbdev/matrox/matroxfb_base.c u_int32_t conn = 0; conn 1041 drivers/video/fbdev/matrox/matroxfb_base.c conn |= 1 << i; conn 1044 drivers/video/fbdev/matrox/matroxfb_base.c if (put_user(conn, (u_int32_t __user *)arg)) conn 1050 drivers/video/fbdev/matrox/matroxfb_base.c u_int32_t conn = 0; conn 1058 drivers/video/fbdev/matrox/matroxfb_base.c conn |= 1 << i; conn 1064 drivers/video/fbdev/matrox/matroxfb_base.c if (conn & MATROXFB_OUTPUT_CONN_DFP) conn 1065 drivers/video/fbdev/matrox/matroxfb_base.c conn &= ~MATROXFB_OUTPUT_CONN_SECONDARY; conn 1066 drivers/video/fbdev/matrox/matroxfb_base.c if (conn & MATROXFB_OUTPUT_CONN_SECONDARY) conn 1067 drivers/video/fbdev/matrox/matroxfb_base.c conn &= ~MATROXFB_OUTPUT_CONN_DFP; conn 1069 drivers/video/fbdev/matrox/matroxfb_base.c if (put_user(conn, (u_int32_t __user *)arg)) conn 1075 drivers/video/fbdev/matrox/matroxfb_base.c u_int32_t conn = 0; conn 1080 drivers/video/fbdev/matrox/matroxfb_base.c conn |= 1 << i; conn 1083 drivers/video/fbdev/matrox/matroxfb_base.c if (put_user(conn, (u_int32_t __user *)arg)) conn 510 drivers/video/fbdev/matrox/matroxfb_crtc2.c u_int32_t conn = 0; conn 515 drivers/video/fbdev/matrox/matroxfb_crtc2.c conn |= 1 << out; conn 518 drivers/video/fbdev/matrox/matroxfb_crtc2.c if (put_user(conn, (u_int32_t __user *)arg)) conn 152 drivers/video/fbdev/nvidia/nv_i2c.c int nvidia_probe_i2c_connector(struct fb_info *info, int conn, u8 **out_edid) conn 157 drivers/video/fbdev/nvidia/nv_i2c.c if (par->chan[conn - 1].par) conn 158 drivers/video/fbdev/nvidia/nv_i2c.c edid = fb_ddc_read(&par->chan[conn - 1].adapter); conn 160 drivers/video/fbdev/nvidia/nv_i2c.c if (!edid && conn == 1) { conn 28 drivers/video/fbdev/nvidia/nv_of.c int nvidia_probe_of_connector(struct fb_info *info, int conn, u8 **out_edid) conn 51 drivers/video/fbdev/nvidia/nv_of.c if ((pname[len-1] == 'A' && conn == 1) || conn 52 drivers/video/fbdev/nvidia/nv_of.c (pname[len-1] == 'B' && conn == 2)) { conn 75 drivers/video/fbdev/nvidia/nv_of.c printk(KERN_DEBUG "nvidiafb: Found OF EDID for head %d\n", conn); conn 38 drivers/video/fbdev/nvidia/nv_proto.h int nvidia_probe_i2c_connector(struct fb_info *info, int conn, conn 46 drivers/video/fbdev/nvidia/nv_proto.h int nvidia_probe_of_connector(struct fb_info *info, int conn, conn 152 drivers/video/fbdev/riva/rivafb-i2c.c int riva_probe_i2c_connector(struct riva_par *par, int conn, u8 **out_edid) conn 156 drivers/video/fbdev/riva/rivafb-i2c.c if (par->chan[conn].par) conn 157 drivers/video/fbdev/riva/rivafb-i2c.c edid = fb_ddc_read(&par->chan[conn].adapter); conn 74 drivers/video/fbdev/riva/rivafb.h int riva_probe_i2c_connector(struct riva_par *par, int conn, u8 **out_edid); conn 1225 drivers/virt/vboxguest/vboxguest_core.c struct vbg_ioctl_hgcm_connect *conn) conn 1230 drivers/virt/vboxguest/vboxguest_core.c if (vbg_ioctl_chk(&conn->hdr, sizeof(conn->u.in), sizeof(conn->u.out))) conn 1246 drivers/virt/vboxguest/vboxguest_core.c ret = vbg_hgcm_connect(gdev, session->requestor, &conn->u.in.loc, conn 1247 drivers/virt/vboxguest/vboxguest_core.c &client_id, &conn->hdr.rc); conn 1250 drivers/virt/vboxguest/vboxguest_core.c if (ret == 0 && conn->hdr.rc >= 0) { conn 1251 drivers/virt/vboxguest/vboxguest_core.c conn->u.out.client_id = client_id; conn 1254 drivers/virt/vboxguest/vboxguest_core.c conn->u.out.client_id = 0; conn 2253 fs/cifs/smbdirect.c smbd_disconnect_rdma_connection(mr->conn); conn 2372 fs/cifs/smbdirect.c smbdirect_mr->conn = info; conn 2573 fs/cifs/smbdirect.c struct smbd_connection *info = smbdirect_mr->conn; conn 289 fs/cifs/smbdirect.h struct smbd_connection *conn; conn 849 fs/nfsd/nfs4callback.c static int setup_callback_client(struct nfs4_client *clp, struct nfs4_cb_conn *conn, struct nfsd4_session *ses) conn 859 fs/nfsd/nfs4callback.c .address = (struct sockaddr *) &conn->cb_addr, conn 860 fs/nfsd/nfs4callback.c .addrsize = conn->cb_addrlen, conn 861 fs/nfsd/nfs4callback.c .saddress = (struct sockaddr *) &conn->cb_saddr, conn 876 fs/nfsd/nfs4callback.c args.prognumber = conn->cb_prog; conn 879 fs/nfsd/nfs4callback.c clp->cl_cb_ident = conn->cb_ident; conn 881 fs/nfsd/nfs4callback.c if (!conn->cb_xprt) conn 883 fs/nfsd/nfs4callback.c clp->cl_cb_conn.cb_xprt = conn->cb_xprt; conn 885 fs/nfsd/nfs4callback.c args.bc_xprt = conn->cb_xprt; conn 887 fs/nfsd/nfs4callback.c args.protocol = conn->cb_xprt->xpt_class->xcl_ident | conn 965 fs/nfsd/nfs4callback.c void nfsd4_change_callback(struct nfs4_client *clp, struct nfs4_cb_conn *conn) conn 969 fs/nfsd/nfs4callback.c memcpy(&clp->cl_cb_conn, conn, sizeof(struct nfs4_cb_conn)); conn 1192 fs/nfsd/nfs4callback.c struct nfs4_cb_conn conn; conn 1221 fs/nfsd/nfs4callback.c memcpy(&conn, &cb->cb_clp->cl_cb_conn, sizeof(struct nfs4_cb_conn)); conn 1225 fs/nfsd/nfs4callback.c conn.cb_xprt = c->cn_xprt; conn 1230 fs/nfsd/nfs4callback.c err = setup_callback_client(clp, &conn, ses); conn 1676 fs/nfsd/nfs4state.c struct nfsd4_conn *conn; conn 1678 fs/nfsd/nfs4state.c conn = kmalloc(sizeof(struct nfsd4_conn), GFP_KERNEL); conn 1679 fs/nfsd/nfs4state.c if (!conn) conn 1682 fs/nfsd/nfs4state.c conn->cn_xprt = rqstp->rq_xprt; conn 1683 fs/nfsd/nfs4state.c conn->cn_flags = flags; conn 1684 fs/nfsd/nfs4state.c INIT_LIST_HEAD(&conn->cn_xpt_user.list); conn 1685 fs/nfsd/nfs4state.c return conn; conn 1688 fs/nfsd/nfs4state.c static void __nfsd4_hash_conn(struct nfsd4_conn *conn, struct nfsd4_session *ses) conn 1690 fs/nfsd/nfs4state.c conn->cn_session = ses; conn 1691 fs/nfsd/nfs4state.c list_add(&conn->cn_persession, &ses->se_conns); conn 1694 fs/nfsd/nfs4state.c static void nfsd4_hash_conn(struct nfsd4_conn *conn, struct nfsd4_session *ses) conn 1699 fs/nfsd/nfs4state.c __nfsd4_hash_conn(conn, ses); conn 1703 fs/nfsd/nfs4state.c static int nfsd4_register_conn(struct nfsd4_conn *conn) conn 1705 fs/nfsd/nfs4state.c conn->cn_xpt_user.callback = nfsd4_conn_lost; conn 1706 fs/nfsd/nfs4state.c return register_xpt_user(conn->cn_xprt, &conn->cn_xpt_user); conn 1709 fs/nfsd/nfs4state.c static void nfsd4_init_conn(struct svc_rqst *rqstp, struct nfsd4_conn *conn, struct nfsd4_session *ses) conn 1713 fs/nfsd/nfs4state.c nfsd4_hash_conn(conn, ses); conn 1714 fs/nfsd/nfs4state.c ret = nfsd4_register_conn(conn); conn 1717 fs/nfsd/nfs4state.c nfsd4_conn_lost(&conn->cn_xpt_user); conn 2761 fs/nfsd/nfs4state.c struct nfs4_cb_conn *conn = &clp->cl_cb_conn; conn 2776 fs/nfsd/nfs4state.c conn->cb_addrlen = rpc_uaddr2sockaddr(clp->net, se->se_callback_addr_val, conn 2778 fs/nfsd/nfs4state.c (struct sockaddr *)&conn->cb_addr, conn 2779 fs/nfsd/nfs4state.c sizeof(conn->cb_addr)); conn 2781 fs/nfsd/nfs4state.c if (!conn->cb_addrlen || conn->cb_addr.ss_family != expected_family) conn 2784 fs/nfsd/nfs4state.c if (conn->cb_addr.ss_family == AF_INET6) conn 2785 fs/nfsd/nfs4state.c ((struct sockaddr_in6 *)&conn->cb_addr)->sin6_scope_id = scopeid; conn 2787 fs/nfsd/nfs4state.c conn->cb_prog = se->se_callback_prog; conn 2788 fs/nfsd/nfs4state.c conn->cb_ident = se->se_callback_ident; conn 2789 fs/nfsd/nfs4state.c memcpy(&conn->cb_saddr, &rqstp->rq_daddr, rqstp->rq_daddrlen); conn 2792 fs/nfsd/nfs4state.c conn->cb_addr.ss_family = AF_UNSPEC; conn 2793 fs/nfsd/nfs4state.c conn->cb_addrlen = 0; conn 3263 fs/nfsd/nfs4state.c struct nfsd4_conn *conn; conn 3283 fs/nfsd/nfs4state.c conn = alloc_conn_from_crses(rqstp, cr_ses); conn 3284 fs/nfsd/nfs4state.c if (!conn) conn 3351 fs/nfsd/nfs4state.c nfsd4_init_conn(rqstp, conn, new); conn 3358 fs/nfsd/nfs4state.c free_conn(conn); conn 3410 fs/nfsd/nfs4state.c struct nfsd4_conn *conn; conn 3428 fs/nfsd/nfs4state.c conn = alloc_conn(rqstp, bcts->dir); conn 3430 fs/nfsd/nfs4state.c if (!conn) conn 3432 fs/nfsd/nfs4state.c nfsd4_init_conn(rqstp, conn, session); conn 3587 fs/nfsd/nfs4state.c struct nfsd4_conn *conn; conn 3600 fs/nfsd/nfs4state.c conn = alloc_conn(rqstp, NFS4_CDFC4_FORE); conn 3601 fs/nfsd/nfs4state.c if (!conn) conn 3651 fs/nfsd/nfs4state.c status = nfsd4_sequence_check_conn(conn, session); conn 3652 fs/nfsd/nfs4state.c conn = NULL; conn 3692 fs/nfsd/nfs4state.c if (conn) conn 3693 fs/nfsd/nfs4state.c free_conn(conn); conn 363 fs/notify/fanotify/fanotify.c struct fsnotify_mark_connector *conn; conn 368 fs/notify/fanotify/fanotify.c conn = READ_ONCE(iter_info->marks[type]->connector); conn 370 fs/notify/fanotify/fanotify.c if (!conn) conn 372 fs/notify/fanotify/fanotify.c if (!(conn->flags & FSNOTIFY_CONN_FLAG_HAS_FSID)) conn 376 fs/notify/fanotify/fanotify.c fsid = conn->fsid; conn 240 fs/notify/fsnotify.c struct fsnotify_mark_connector *conn; conn 243 fs/notify/fsnotify.c conn = srcu_dereference(*connp, &fsnotify_mark_srcu); conn 244 fs/notify/fsnotify.c if (conn) conn 245 fs/notify/fsnotify.c node = srcu_dereference(conn->list.first, &fsnotify_mark_srcu); conn 13 fs/notify/fsnotify.h struct fsnotify_mark_connector *conn) conn 15 fs/notify/fsnotify.h return container_of(conn->obj, struct inode, i_fsnotify_marks); conn 19 fs/notify/fsnotify.h struct fsnotify_mark_connector *conn) conn 21 fs/notify/fsnotify.h return container_of(conn->obj, struct mount, mnt_fsnotify_marks); conn 25 fs/notify/fsnotify.h struct fsnotify_mark_connector *conn) conn 27 fs/notify/fsnotify.h return container_of(conn->obj, struct super_block, s_fsnotify_marks); conn 100 fs/notify/mark.c static __u32 *fsnotify_conn_mask_p(struct fsnotify_mark_connector *conn) conn 102 fs/notify/mark.c if (conn->type == FSNOTIFY_OBJ_TYPE_INODE) conn 103 fs/notify/mark.c return &fsnotify_conn_inode(conn)->i_fsnotify_mask; conn 104 fs/notify/mark.c else if (conn->type == FSNOTIFY_OBJ_TYPE_VFSMOUNT) conn 105 fs/notify/mark.c return &fsnotify_conn_mount(conn)->mnt_fsnotify_mask; conn 106 fs/notify/mark.c else if (conn->type == FSNOTIFY_OBJ_TYPE_SB) conn 107 fs/notify/mark.c return &fsnotify_conn_sb(conn)->s_fsnotify_mask; conn 111 fs/notify/mark.c __u32 fsnotify_conn_mask(struct fsnotify_mark_connector *conn) conn 113 fs/notify/mark.c if (WARN_ON(!fsnotify_valid_obj_type(conn->type))) conn 116 fs/notify/mark.c return *fsnotify_conn_mask_p(conn); conn 119 fs/notify/mark.c static void __fsnotify_recalc_mask(struct fsnotify_mark_connector *conn) conn 124 fs/notify/mark.c assert_spin_locked(&conn->lock); conn 126 fs/notify/mark.c if (!fsnotify_valid_obj_type(conn->type)) conn 128 fs/notify/mark.c hlist_for_each_entry(mark, &conn->list, obj_list) { conn 132 fs/notify/mark.c *fsnotify_conn_mask_p(conn) = new_mask; conn 141 fs/notify/mark.c void fsnotify_recalc_mask(struct fsnotify_mark_connector *conn) conn 143 fs/notify/mark.c if (!conn) conn 146 fs/notify/mark.c spin_lock(&conn->lock); conn 147 fs/notify/mark.c __fsnotify_recalc_mask(conn); conn 148 fs/notify/mark.c spin_unlock(&conn->lock); conn 149 fs/notify/mark.c if (conn->type == FSNOTIFY_OBJ_TYPE_INODE) conn 151 fs/notify/mark.c fsnotify_conn_inode(conn)); conn 157 fs/notify/mark.c struct fsnotify_mark_connector *conn, *free; conn 160 fs/notify/mark.c conn = connector_destroy_list; conn 165 fs/notify/mark.c while (conn) { conn 166 fs/notify/mark.c free = conn; conn 167 fs/notify/mark.c conn = conn->destroy_next; conn 173 fs/notify/mark.c struct fsnotify_mark_connector *conn, conn 178 fs/notify/mark.c *type = conn->type; conn 179 fs/notify/mark.c if (conn->type == FSNOTIFY_OBJ_TYPE_DETACHED) conn 182 fs/notify/mark.c if (conn->type == FSNOTIFY_OBJ_TYPE_INODE) { conn 183 fs/notify/mark.c inode = fsnotify_conn_inode(conn); conn 186 fs/notify/mark.c } else if (conn->type == FSNOTIFY_OBJ_TYPE_VFSMOUNT) { conn 187 fs/notify/mark.c fsnotify_conn_mount(conn)->mnt_fsnotify_mask = 0; conn 188 fs/notify/mark.c } else if (conn->type == FSNOTIFY_OBJ_TYPE_SB) { conn 189 fs/notify/mark.c fsnotify_conn_sb(conn)->s_fsnotify_mask = 0; conn 192 fs/notify/mark.c rcu_assign_pointer(*(conn->obj), NULL); conn 193 fs/notify/mark.c conn->obj = NULL; conn 194 fs/notify/mark.c conn->type = FSNOTIFY_OBJ_TYPE_DETACHED; conn 229 fs/notify/mark.c struct fsnotify_mark_connector *conn = READ_ONCE(mark->connector); conn 235 fs/notify/mark.c if (!conn) { conn 245 fs/notify/mark.c if (!refcount_dec_and_lock(&mark->refcnt, &conn->lock)) conn 249 fs/notify/mark.c if (hlist_empty(&conn->list)) { conn 250 fs/notify/mark.c objp = fsnotify_detach_connector_from_object(conn, &type); conn 253 fs/notify/mark.c __fsnotify_recalc_mask(conn); conn 256 fs/notify/mark.c spin_unlock(&conn->lock); conn 262 fs/notify/mark.c conn->destroy_next = connector_destroy_list; conn 263 fs/notify/mark.c connector_destroy_list = conn; conn 477 fs/notify/mark.c struct fsnotify_mark_connector *conn; conn 479 fs/notify/mark.c conn = kmem_cache_alloc(fsnotify_mark_connector_cachep, GFP_KERNEL); conn 480 fs/notify/mark.c if (!conn) conn 482 fs/notify/mark.c spin_lock_init(&conn->lock); conn 483 fs/notify/mark.c INIT_HLIST_HEAD(&conn->list); conn 484 fs/notify/mark.c conn->type = type; conn 485 fs/notify/mark.c conn->obj = connp; conn 488 fs/notify/mark.c conn->fsid = *fsid; conn 489 fs/notify/mark.c conn->flags = FSNOTIFY_CONN_FLAG_HAS_FSID; conn 491 fs/notify/mark.c conn->fsid.val[0] = conn->fsid.val[1] = 0; conn 492 fs/notify/mark.c conn->flags = 0; conn 494 fs/notify/mark.c if (conn->type == FSNOTIFY_OBJ_TYPE_INODE) conn 495 fs/notify/mark.c inode = igrab(fsnotify_conn_inode(conn)); conn 500 fs/notify/mark.c if (cmpxchg(connp, NULL, conn)) { conn 504 fs/notify/mark.c kmem_cache_free(fsnotify_mark_connector_cachep, conn); conn 519 fs/notify/mark.c struct fsnotify_mark_connector *conn; conn 523 fs/notify/mark.c conn = srcu_dereference(*connp, &fsnotify_mark_srcu); conn 524 fs/notify/mark.c if (!conn) conn 526 fs/notify/mark.c spin_lock(&conn->lock); conn 527 fs/notify/mark.c if (conn->type == FSNOTIFY_OBJ_TYPE_DETACHED) { conn 528 fs/notify/mark.c spin_unlock(&conn->lock); conn 534 fs/notify/mark.c return conn; conn 548 fs/notify/mark.c struct fsnotify_mark_connector *conn; conn 561 fs/notify/mark.c conn = fsnotify_grab_connector(connp); conn 562 fs/notify/mark.c if (!conn) { conn 568 fs/notify/mark.c } else if (fsid && !(conn->flags & FSNOTIFY_CONN_FLAG_HAS_FSID)) { conn 569 fs/notify/mark.c conn->fsid = *fsid; conn 572 fs/notify/mark.c conn->flags |= FSNOTIFY_CONN_FLAG_HAS_FSID; conn 573 fs/notify/mark.c } else if (fsid && (conn->flags & FSNOTIFY_CONN_FLAG_HAS_FSID) && conn 574 fs/notify/mark.c (fsid->val[0] != conn->fsid.val[0] || conn 575 fs/notify/mark.c fsid->val[1] != conn->fsid.val[1])) { conn 584 fs/notify/mark.c "%x.%x != %x.%x\n", __func__, conn->type, conn 586 fs/notify/mark.c conn->fsid.val[0], conn->fsid.val[1]); conn 592 fs/notify/mark.c if (hlist_empty(&conn->list)) { conn 593 fs/notify/mark.c hlist_add_head_rcu(&mark->obj_list, &conn->list); conn 598 fs/notify/mark.c hlist_for_each_entry(lmark, &conn->list, obj_list) { conn 624 fs/notify/mark.c WRITE_ONCE(mark->connector, conn); conn 626 fs/notify/mark.c spin_unlock(&conn->lock); conn 699 fs/notify/mark.c struct fsnotify_mark_connector *conn; conn 702 fs/notify/mark.c conn = fsnotify_grab_connector(connp); conn 703 fs/notify/mark.c if (!conn) conn 706 fs/notify/mark.c hlist_for_each_entry(mark, &conn->list, obj_list) { conn 710 fs/notify/mark.c spin_unlock(&conn->lock); conn 714 fs/notify/mark.c spin_unlock(&conn->lock); conn 767 fs/notify/mark.c struct fsnotify_mark_connector *conn; conn 772 fs/notify/mark.c conn = fsnotify_grab_connector(connp); conn 773 fs/notify/mark.c if (!conn) conn 782 fs/notify/mark.c hlist_for_each_entry(mark, &conn->list, obj_list) { conn 784 fs/notify/mark.c spin_unlock(&conn->lock); conn 789 fs/notify/mark.c spin_lock(&conn->lock); conn 796 fs/notify/mark.c objp = fsnotify_detach_connector_from_object(conn, &type); conn 797 fs/notify/mark.c spin_unlock(&conn->lock); conn 450 fs/ocfs2/dlmfs/dlmfs.c struct ocfs2_cluster_connection *conn; conn 470 fs/ocfs2/dlmfs/dlmfs.c conn = user_dlm_register(domain); conn 471 fs/ocfs2/dlmfs/dlmfs.c if (IS_ERR(conn)) { conn 472 fs/ocfs2/dlmfs/dlmfs.c status = PTR_ERR(conn); conn 477 fs/ocfs2/dlmfs/dlmfs.c ip->ip_conn = conn; conn 290 fs/ocfs2/dlmfs/userdlm.c struct ocfs2_cluster_connection *conn = conn 335 fs/ocfs2/dlmfs/userdlm.c status = ocfs2_dlm_unlock(conn, &lockres->l_lksb, conn 372 fs/ocfs2/dlmfs/userdlm.c status = ocfs2_dlm_lock(conn, new_level, &lockres->l_lksb, conn 417 fs/ocfs2/dlmfs/userdlm.c struct ocfs2_cluster_connection *conn = conn 475 fs/ocfs2/dlmfs/userdlm.c status = ocfs2_dlm_lock(conn, level, &lockres->l_lksb, conn 596 fs/ocfs2/dlmfs/userdlm.c struct ocfs2_cluster_connection *conn = conn 632 fs/ocfs2/dlmfs/userdlm.c status = ocfs2_dlm_unlock(conn, &lockres->l_lksb, DLM_LKF_VALBLK); conn 660 fs/ocfs2/dlmfs/userdlm.c struct ocfs2_cluster_connection *conn; conn 665 fs/ocfs2/dlmfs/userdlm.c NULL, &conn); conn 669 fs/ocfs2/dlmfs/userdlm.c return rc ? ERR_PTR(rc) : conn; conn 672 fs/ocfs2/dlmfs/userdlm.c void user_dlm_unregister(struct ocfs2_cluster_connection *conn) conn 674 fs/ocfs2/dlmfs/userdlm.c ocfs2_cluster_disconnect(conn, 0); conn 73 fs/ocfs2/dlmfs/userdlm.h void user_dlm_unregister(struct ocfs2_cluster_connection *conn); conn 3299 fs/ocfs2/dlmglue.c struct ocfs2_cluster_connection *conn = NULL; conn 3325 fs/ocfs2/dlmglue.c &conn); conn 3331 fs/ocfs2/dlmglue.c status = ocfs2_cluster_this_node(conn, &osb->node_num); conn 3336 fs/ocfs2/dlmglue.c ocfs2_cluster_disconnect(conn, 0); conn 3346 fs/ocfs2/dlmglue.c osb->cconn = conn; conn 192 fs/ocfs2/stack_o2cb.c static int o2cb_dlm_lock(struct ocfs2_cluster_connection *conn, conn 204 fs/ocfs2/stack_o2cb.c status = dlmlock(conn->cc_lockspace, o2dlm_mode, &lksb->lksb_o2dlm, conn 212 fs/ocfs2/stack_o2cb.c static int o2cb_dlm_unlock(struct ocfs2_cluster_connection *conn, conn 220 fs/ocfs2/stack_o2cb.c status = dlmunlock(conn->cc_lockspace, &lksb->lksb_o2dlm, conn 312 fs/ocfs2/stack_o2cb.c struct ocfs2_cluster_connection *conn = data; conn 315 fs/ocfs2/stack_o2cb.c node_num, conn->cc_namelen, conn->cc_name); conn 317 fs/ocfs2/stack_o2cb.c conn->cc_recovery_handler(node_num, conn->cc_recovery_data); conn 320 fs/ocfs2/stack_o2cb.c static int o2cb_cluster_connect(struct ocfs2_cluster_connection *conn) conn 328 fs/ocfs2/stack_o2cb.c BUG_ON(conn == NULL); conn 329 fs/ocfs2/stack_o2cb.c BUG_ON(conn->cc_proto == NULL); conn 347 fs/ocfs2/stack_o2cb.c conn); conn 349 fs/ocfs2/stack_o2cb.c conn->cc_private = priv; conn 353 fs/ocfs2/stack_o2cb.c dlm_key = crc32_le(0, conn->cc_name, conn->cc_namelen); conn 354 fs/ocfs2/stack_o2cb.c fs_version.pv_major = conn->cc_version.pv_major; conn 355 fs/ocfs2/stack_o2cb.c fs_version.pv_minor = conn->cc_version.pv_minor; conn 357 fs/ocfs2/stack_o2cb.c dlm = dlm_register_domain(conn->cc_name, dlm_key, &fs_version); conn 364 fs/ocfs2/stack_o2cb.c conn->cc_version.pv_major = fs_version.pv_major; conn 365 fs/ocfs2/stack_o2cb.c conn->cc_version.pv_minor = fs_version.pv_minor; conn 366 fs/ocfs2/stack_o2cb.c conn->cc_lockspace = dlm; conn 372 fs/ocfs2/stack_o2cb.c kfree(conn->cc_private); conn 378 fs/ocfs2/stack_o2cb.c static int o2cb_cluster_disconnect(struct ocfs2_cluster_connection *conn) conn 380 fs/ocfs2/stack_o2cb.c struct dlm_ctxt *dlm = conn->cc_lockspace; conn 381 fs/ocfs2/stack_o2cb.c struct o2dlm_private *priv = conn->cc_private; conn 384 fs/ocfs2/stack_o2cb.c conn->cc_private = NULL; conn 388 fs/ocfs2/stack_o2cb.c conn->cc_lockspace = NULL; conn 393 fs/ocfs2/stack_o2cb.c static int o2cb_cluster_this_node(struct ocfs2_cluster_connection *conn, conn 207 fs/ocfs2/stack_user.c static int ocfs2_live_connection_attach(struct ocfs2_cluster_connection *conn, conn 213 fs/ocfs2/stack_user.c c->oc_conn = conn; conn 681 fs/ocfs2/stack_user.c static int user_dlm_lock(struct ocfs2_cluster_connection *conn, conn 694 fs/ocfs2/stack_user.c ret = dlm_lock(conn->cc_lockspace, mode, &lksb->lksb_fsdlm, conn 701 fs/ocfs2/stack_user.c static int user_dlm_unlock(struct ocfs2_cluster_connection *conn, conn 707 fs/ocfs2/stack_user.c ret = dlm_unlock(conn->cc_lockspace, lksb->lksb_fsdlm.sb_lkid, conn 736 fs/ocfs2/stack_user.c static int user_plock(struct ocfs2_cluster_connection *conn, conn 760 fs/ocfs2/stack_user.c return dlm_posix_get(conn->cc_lockspace, ino, file, fl); conn 762 fs/ocfs2/stack_user.c return dlm_posix_unlock(conn->cc_lockspace, ino, file, fl); conn 764 fs/ocfs2/stack_user.c return dlm_posix_lock(conn->cc_lockspace, ino, file, cmd, fl); conn 816 fs/ocfs2/stack_user.c struct ocfs2_cluster_connection *conn = arg; conn 817 fs/ocfs2/stack_user.c struct ocfs2_live_connection *lc = conn->cc_private; conn 821 fs/ocfs2/stack_user.c static int sync_unlock(struct ocfs2_cluster_connection *conn, conn 825 fs/ocfs2/stack_user.c struct ocfs2_live_connection *lc = conn->cc_private; conn 827 fs/ocfs2/stack_user.c error = dlm_unlock(conn->cc_lockspace, lksb->sb_lkid, 0, lksb, conn); conn 844 fs/ocfs2/stack_user.c static int sync_lock(struct ocfs2_cluster_connection *conn, conn 849 fs/ocfs2/stack_user.c struct ocfs2_live_connection *lc = conn->cc_private; conn 851 fs/ocfs2/stack_user.c error = dlm_lock(conn->cc_lockspace, mode, lksb, flags, conn 853 fs/ocfs2/stack_user.c 0, sync_wait_cb, conn, NULL); conn 873 fs/ocfs2/stack_user.c static int version_lock(struct ocfs2_cluster_connection *conn, int mode, conn 876 fs/ocfs2/stack_user.c struct ocfs2_live_connection *lc = conn->cc_private; conn 877 fs/ocfs2/stack_user.c return sync_lock(conn, mode, flags, conn 881 fs/ocfs2/stack_user.c static int version_unlock(struct ocfs2_cluster_connection *conn) conn 883 fs/ocfs2/stack_user.c struct ocfs2_live_connection *lc = conn->cc_private; conn 884 fs/ocfs2/stack_user.c return sync_unlock(conn, &lc->oc_version_lksb, VERSION_LOCK); conn 898 fs/ocfs2/stack_user.c static int get_protocol_version(struct ocfs2_cluster_connection *conn) conn 901 fs/ocfs2/stack_user.c struct ocfs2_live_connection *lc = conn->cc_private; conn 910 fs/ocfs2/stack_user.c ret = version_lock(conn, DLM_LOCK_EX, conn 913 fs/ocfs2/stack_user.c conn->cc_version.pv_major = running_proto.pv_major; conn 914 fs/ocfs2/stack_user.c conn->cc_version.pv_minor = running_proto.pv_minor; conn 916 fs/ocfs2/stack_user.c version_lock(conn, DLM_LOCK_PR, DLM_LKF_CONVERT|DLM_LKF_VALBLK); conn 918 fs/ocfs2/stack_user.c ret = version_lock(conn, DLM_LOCK_PR, DLM_LKF_VALBLK); conn 929 fs/ocfs2/stack_user.c conn->cc_version.pv_major = pv.pv_major; conn 930 fs/ocfs2/stack_user.c conn->cc_version.pv_minor = pv.pv_minor; conn 942 fs/ocfs2/stack_user.c struct ocfs2_cluster_connection *conn = arg; conn 945 fs/ocfs2/stack_user.c conn->cc_recovery_handler(slot->nodeid, conn->cc_recovery_data); conn 953 fs/ocfs2/stack_user.c struct ocfs2_cluster_connection *conn = arg; conn 954 fs/ocfs2/stack_user.c struct ocfs2_live_connection *lc = conn->cc_private; conn 973 fs/ocfs2/stack_user.c static int user_cluster_disconnect(struct ocfs2_cluster_connection *conn) conn 975 fs/ocfs2/stack_user.c version_unlock(conn); conn 976 fs/ocfs2/stack_user.c dlm_release_lockspace(conn->cc_lockspace, 2); conn 977 fs/ocfs2/stack_user.c conn->cc_lockspace = NULL; conn 978 fs/ocfs2/stack_user.c ocfs2_live_connection_drop(conn->cc_private); conn 979 fs/ocfs2/stack_user.c conn->cc_private = NULL; conn 983 fs/ocfs2/stack_user.c static int user_cluster_connect(struct ocfs2_cluster_connection *conn) conn 989 fs/ocfs2/stack_user.c BUG_ON(conn == NULL); conn 998 fs/ocfs2/stack_user.c conn->cc_private = lc; conn 1001 fs/ocfs2/stack_user.c rc = dlm_new_lockspace(conn->cc_name, conn->cc_cluster_name, conn 1003 fs/ocfs2/stack_user.c &ocfs2_ls_ops, conn, &ops_rv, &fsdlm); conn 1010 fs/ocfs2/stack_user.c conn->cc_name, rc); conn 1023 fs/ocfs2/stack_user.c conn->cc_lockspace = fsdlm; conn 1025 fs/ocfs2/stack_user.c rc = ocfs2_live_connection_attach(conn, lc); conn 1030 fs/ocfs2/stack_user.c rc = get_protocol_version(conn); conn 1034 fs/ocfs2/stack_user.c user_cluster_disconnect(conn); conn 1044 fs/ocfs2/stack_user.c if (fs_protocol_compare(&running_proto, &conn->cc_version)) { conn 1048 fs/ocfs2/stack_user.c conn->cc_version.pv_major, conn->cc_version.pv_minor, conn 1062 fs/ocfs2/stack_user.c static int user_cluster_this_node(struct ocfs2_cluster_connection *conn, conn 1066 fs/ocfs2/stack_user.c struct ocfs2_live_connection *lc = conn->cc_private; conn 233 fs/ocfs2/stackglue.c int ocfs2_dlm_lock(struct ocfs2_cluster_connection *conn, conn 241 fs/ocfs2/stackglue.c lksb->lksb_conn = conn; conn 243 fs/ocfs2/stackglue.c BUG_ON(lksb->lksb_conn != conn); conn 244 fs/ocfs2/stackglue.c return active_stack->sp_ops->dlm_lock(conn, mode, lksb, flags, conn 249 fs/ocfs2/stackglue.c int ocfs2_dlm_unlock(struct ocfs2_cluster_connection *conn, conn 255 fs/ocfs2/stackglue.c return active_stack->sp_ops->dlm_unlock(conn, lksb, flags); conn 293 fs/ocfs2/stackglue.c int ocfs2_plock(struct ocfs2_cluster_connection *conn, u64 ino, conn 298 fs/ocfs2/stackglue.c return active_stack->sp_ops->plock(conn, ino, file, cmd, fl); conn 312 fs/ocfs2/stackglue.c struct ocfs2_cluster_connection **conn) conn 318 fs/ocfs2/stackglue.c BUG_ON(conn == NULL); conn 363 fs/ocfs2/stackglue.c *conn = new_conn; conn 381 fs/ocfs2/stackglue.c struct ocfs2_cluster_connection **conn) conn 389 fs/ocfs2/stackglue.c conn); conn 394 fs/ocfs2/stackglue.c int ocfs2_cluster_disconnect(struct ocfs2_cluster_connection *conn, conn 399 fs/ocfs2/stackglue.c BUG_ON(conn == NULL); conn 401 fs/ocfs2/stackglue.c ret = active_stack->sp_ops->disconnect(conn); conn 405 fs/ocfs2/stackglue.c kfree(conn); conn 462 fs/ocfs2/stackglue.c int ocfs2_cluster_this_node(struct ocfs2_cluster_connection *conn, conn 465 fs/ocfs2/stackglue.c return active_stack->sp_ops->this_node(conn, node); conn 130 fs/ocfs2/stackglue.h int (*connect)(struct ocfs2_cluster_connection *conn); conn 146 fs/ocfs2/stackglue.h int (*disconnect)(struct ocfs2_cluster_connection *conn); conn 152 fs/ocfs2/stackglue.h int (*this_node)(struct ocfs2_cluster_connection *conn, conn 165 fs/ocfs2/stackglue.h int (*dlm_lock)(struct ocfs2_cluster_connection *conn, conn 181 fs/ocfs2/stackglue.h int (*dlm_unlock)(struct ocfs2_cluster_connection *conn, conn 208 fs/ocfs2/stackglue.h int (*plock)(struct ocfs2_cluster_connection *conn, conn 248 fs/ocfs2/stackglue.h struct ocfs2_cluster_connection **conn); conn 259 fs/ocfs2/stackglue.h struct ocfs2_cluster_connection **conn); conn 260 fs/ocfs2/stackglue.h int ocfs2_cluster_disconnect(struct ocfs2_cluster_connection *conn, conn 263 fs/ocfs2/stackglue.h int ocfs2_cluster_this_node(struct ocfs2_cluster_connection *conn, conn 267 fs/ocfs2/stackglue.h int ocfs2_dlm_lock(struct ocfs2_cluster_connection *conn, conn 273 fs/ocfs2/stackglue.h int ocfs2_dlm_unlock(struct ocfs2_cluster_connection *conn, conn 283 fs/ocfs2/stackglue.h int ocfs2_plock(struct ocfs2_cluster_connection *conn, u64 ino, conn 1518 include/drm/drm_connector.h void drm_connector_attach_tv_margin_properties(struct drm_connector *conn); conn 1583 include/drm/drm_connector.h struct drm_connector *conn; conn 258 include/linux/drbd.h unsigned conn:5 ; /* 17/32 cstates */ conn 278 include/linux/drbd.h unsigned conn:5 ; /* 17/32 cstates */ conn 433 include/linux/fsnotify_backend.h extern __u32 fsnotify_conn_mask(struct fsnotify_mark_connector *conn); conn 435 include/linux/fsnotify_backend.h extern void fsnotify_recalc_mask(struct fsnotify_mark_connector *conn); conn 442 include/linux/fsnotify_backend.h extern int fsnotify_get_conn_fsid(const struct fsnotify_mark_connector *conn, conn 37 include/media/cec-notifier.h const char *conn); conn 133 include/media/cec-notifier.h const char *conn) conn 120 include/media/dvbdev.h struct media_entity *conn; conn 531 include/net/bluetooth/hci_core.h void (*connect_cfm_cb) (struct hci_conn *conn, u8 status); conn 532 include/net/bluetooth/hci_core.h void (*security_cfm_cb) (struct hci_conn *conn, u8 status); conn 533 include/net/bluetooth/hci_core.h void (*disconn_cfm_cb) (struct hci_conn *conn, u8 reason); conn 539 include/net/bluetooth/hci_core.h struct hci_conn *conn; conn 566 include/net/bluetooth/hci_core.h struct hci_conn *conn; conn 696 include/net/bluetooth/hci_core.h static inline bool hci_conn_ssp_enabled(struct hci_conn *conn) conn 698 include/net/bluetooth/hci_core.h struct hci_dev *hdev = conn->hdev; conn 700 include/net/bluetooth/hci_core.h test_bit(HCI_CONN_SSP_ENABLED, &conn->flags); conn 703 include/net/bluetooth/hci_core.h static inline bool hci_conn_sc_enabled(struct hci_conn *conn) conn 705 include/net/bluetooth/hci_core.h struct hci_dev *hdev = conn->hdev; conn 707 include/net/bluetooth/hci_core.h test_bit(HCI_CONN_SC_ENABLED, &conn->flags); conn 907 include/net/bluetooth/hci_core.h int hci_disconnect(struct hci_conn *conn, __u8 reason); conn 908 include/net/bluetooth/hci_core.h bool hci_setup_sync(struct hci_conn *conn, __u16 handle); conn 909 include/net/bluetooth/hci_core.h void hci_sco_setup(struct hci_conn *conn, __u8 status); conn 913 include/net/bluetooth/hci_core.h int hci_conn_del(struct hci_conn *conn); conn 917 include/net/bluetooth/hci_core.h struct hci_chan *hci_chan_create(struct hci_conn *conn); conn 919 include/net/bluetooth/hci_core.h void hci_chan_list_flush(struct hci_conn *conn); conn 932 include/net/bluetooth/hci_core.h int hci_conn_check_link_mode(struct hci_conn *conn); conn 933 include/net/bluetooth/hci_core.h int hci_conn_check_secure(struct hci_conn *conn, __u8 sec_level); conn 934 include/net/bluetooth/hci_core.h int hci_conn_security(struct hci_conn *conn, __u8 sec_level, __u8 auth_type, conn 936 include/net/bluetooth/hci_core.h int hci_conn_switch_role(struct hci_conn *conn, __u8 role); conn 938 include/net/bluetooth/hci_core.h void hci_conn_enter_active_mode(struct hci_conn *conn, __u8 force_active); conn 940 include/net/bluetooth/hci_core.h void hci_le_conn_failed(struct hci_conn *conn, u8 status); conn 963 include/net/bluetooth/hci_core.h static inline struct hci_conn *hci_conn_get(struct hci_conn *conn) conn 965 include/net/bluetooth/hci_core.h get_device(&conn->dev); conn 966 include/net/bluetooth/hci_core.h return conn; conn 969 include/net/bluetooth/hci_core.h static inline void hci_conn_put(struct hci_conn *conn) conn 971 include/net/bluetooth/hci_core.h put_device(&conn->dev); conn 974 include/net/bluetooth/hci_core.h static inline void hci_conn_hold(struct hci_conn *conn) conn 976 include/net/bluetooth/hci_core.h BT_DBG("hcon %p orig refcnt %d", conn, atomic_read(&conn->refcnt)); conn 978 include/net/bluetooth/hci_core.h atomic_inc(&conn->refcnt); conn 979 include/net/bluetooth/hci_core.h cancel_delayed_work(&conn->disc_work); conn 982 include/net/bluetooth/hci_core.h static inline void hci_conn_drop(struct hci_conn *conn) conn 984 include/net/bluetooth/hci_core.h BT_DBG("hcon %p orig refcnt %d", conn, atomic_read(&conn->refcnt)); conn 986 include/net/bluetooth/hci_core.h if (atomic_dec_and_test(&conn->refcnt)) { conn 989 include/net/bluetooth/hci_core.h switch (conn->type) { conn 992 include/net/bluetooth/hci_core.h cancel_delayed_work(&conn->idle_work); conn 993 include/net/bluetooth/hci_core.h if (conn->state == BT_CONNECTED) { conn 994 include/net/bluetooth/hci_core.h timeo = conn->disc_timeout; conn 995 include/net/bluetooth/hci_core.h if (!conn->out) conn 1003 include/net/bluetooth/hci_core.h timeo = conn->disc_timeout; conn 1011 include/net/bluetooth/hci_core.h cancel_delayed_work(&conn->disc_work); conn 1012 include/net/bluetooth/hci_core.h queue_delayed_work(conn->hdev->workqueue, conn 1013 include/net/bluetooth/hci_core.h &conn->disc_work, timeo); conn 1106 include/net/bluetooth/hci_core.h struct link_key *hci_add_link_key(struct hci_dev *hdev, struct hci_conn *conn, conn 1150 include/net/bluetooth/hci_core.h void hci_conn_init_sysfs(struct hci_conn *conn); conn 1151 include/net/bluetooth/hci_core.h void hci_conn_add_sysfs(struct hci_conn *conn); conn 1152 include/net/bluetooth/hci_core.h void hci_conn_del_sysfs(struct hci_conn *conn); conn 1238 include/net/bluetooth/hci_core.h static inline int hci_proto_disconn_ind(struct hci_conn *conn) conn 1240 include/net/bluetooth/hci_core.h if (conn->type != ACL_LINK && conn->type != LE_LINK) conn 1243 include/net/bluetooth/hci_core.h return l2cap_disconn_ind(conn); conn 1252 include/net/bluetooth/hci_core.h void (*connect_cfm) (struct hci_conn *conn, __u8 status); conn 1253 include/net/bluetooth/hci_core.h void (*disconn_cfm) (struct hci_conn *conn, __u8 status); conn 1254 include/net/bluetooth/hci_core.h void (*security_cfm) (struct hci_conn *conn, __u8 status, conn 1256 include/net/bluetooth/hci_core.h void (*key_change_cfm) (struct hci_conn *conn, __u8 status); conn 1257 include/net/bluetooth/hci_core.h void (*role_switch_cfm) (struct hci_conn *conn, __u8 status, __u8 role); conn 1260 include/net/bluetooth/hci_core.h static inline void hci_connect_cfm(struct hci_conn *conn, __u8 status) conn 1267 include/net/bluetooth/hci_core.h cb->connect_cfm(conn, status); conn 1271 include/net/bluetooth/hci_core.h if (conn->connect_cfm_cb) conn 1272 include/net/bluetooth/hci_core.h conn->connect_cfm_cb(conn, status); conn 1275 include/net/bluetooth/hci_core.h static inline void hci_disconn_cfm(struct hci_conn *conn, __u8 reason) conn 1282 include/net/bluetooth/hci_core.h cb->disconn_cfm(conn, reason); conn 1286 include/net/bluetooth/hci_core.h if (conn->disconn_cfm_cb) conn 1287 include/net/bluetooth/hci_core.h conn->disconn_cfm_cb(conn, reason); conn 1290 include/net/bluetooth/hci_core.h static inline void hci_auth_cfm(struct hci_conn *conn, __u8 status) conn 1295 include/net/bluetooth/hci_core.h if (test_bit(HCI_CONN_ENCRYPT_PEND, &conn->flags)) conn 1298 include/net/bluetooth/hci_core.h encrypt = test_bit(HCI_CONN_ENCRYPT, &conn->flags) ? 0x01 : 0x00; conn 1303 include/net/bluetooth/hci_core.h cb->security_cfm(conn, status, encrypt); conn 1307 include/net/bluetooth/hci_core.h if (conn->security_cfm_cb) conn 1308 include/net/bluetooth/hci_core.h conn->security_cfm_cb(conn, status); conn 1311 include/net/bluetooth/hci_core.h static inline void hci_encrypt_cfm(struct hci_conn *conn, __u8 status, conn 1316 include/net/bluetooth/hci_core.h if (conn->sec_level == BT_SECURITY_SDP) conn 1317 include/net/bluetooth/hci_core.h conn->sec_level = BT_SECURITY_LOW; conn 1319 include/net/bluetooth/hci_core.h if (conn->pending_sec_level > conn->sec_level) conn 1320 include/net/bluetooth/hci_core.h conn->sec_level = conn->pending_sec_level; conn 1325 include/net/bluetooth/hci_core.h cb->security_cfm(conn, status, encrypt); conn 1329 include/net/bluetooth/hci_core.h if (conn->security_cfm_cb) conn 1330 include/net/bluetooth/hci_core.h conn->security_cfm_cb(conn, status); conn 1333 include/net/bluetooth/hci_core.h static inline void hci_key_change_cfm(struct hci_conn *conn, __u8 status) conn 1340 include/net/bluetooth/hci_core.h cb->key_change_cfm(conn, status); conn 1345 include/net/bluetooth/hci_core.h static inline void hci_role_switch_cfm(struct hci_conn *conn, __u8 status, conn 1353 include/net/bluetooth/hci_core.h cb->role_switch_cfm(conn, status, role); conn 1461 include/net/bluetooth/hci_core.h void hci_send_sco(struct hci_conn *conn, struct sk_buff *skb); conn 1532 include/net/bluetooth/hci_core.h void mgmt_device_connected(struct hci_dev *hdev, struct hci_conn *conn, conn 1562 include/net/bluetooth/hci_core.h void mgmt_auth_failed(struct hci_conn *conn, u8 status); conn 1584 include/net/bluetooth/hci_core.h void mgmt_smp_complete(struct hci_conn *conn, bool complete); conn 1595 include/net/bluetooth/hci_core.h u8 hci_le_conn_update(struct hci_conn *conn, u16 min, u16 max, u16 latency, conn 1597 include/net/bluetooth/hci_core.h void hci_le_start_enc(struct hci_conn *conn, __le16 ediv, __le64 rand, conn 498 include/net/bluetooth/l2cap.h struct l2cap_conn *conn; conn 665 include/net/bluetooth/l2cap.h int (*probe) (struct l2cap_conn *conn, struct l2cap_user *user); conn 666 include/net/bluetooth/l2cap.h void (*remove) (struct l2cap_conn *conn, struct l2cap_user *user); conn 940 include/net/bluetooth/l2cap.h void l2cap_chan_add(struct l2cap_conn *conn, struct l2cap_chan *chan); conn 941 include/net/bluetooth/l2cap.h void __l2cap_chan_add(struct l2cap_conn *conn, struct l2cap_chan *chan); conn 949 include/net/bluetooth/l2cap.h struct l2cap_conn *l2cap_conn_get(struct l2cap_conn *conn); conn 950 include/net/bluetooth/l2cap.h void l2cap_conn_put(struct l2cap_conn *conn); conn 952 include/net/bluetooth/l2cap.h int l2cap_register_user(struct l2cap_conn *conn, struct l2cap_user *user); conn 953 include/net/bluetooth/l2cap.h void l2cap_unregister_user(struct l2cap_conn *conn, struct l2cap_user *user); conn 4923 include/net/cfg80211.h struct cfg80211_conn *conn; conn 111 include/net/llc_conn.h int llc_conn_remove_acked_pdus(struct sock *conn, u8 nr, u16 *how_many_unacked); conn 73 include/net/smc.h struct smc_connection **conn; conn 111 include/rdma/rdma_cm.h struct rdma_conn_param conn; conn 118 include/scsi/libiscsi.h struct iscsi_conn *conn; /* used connection */ conn 422 include/scsi/libiscsi.h extern void iscsi_conn_failure(struct iscsi_conn *conn, enum iscsi_err err); conn 429 include/scsi/libiscsi.h extern void iscsi_suspend_tx(struct iscsi_conn *conn); conn 430 include/scsi/libiscsi.h extern void iscsi_suspend_queue(struct iscsi_conn *conn); conn 431 include/scsi/libiscsi.h extern void iscsi_conn_queue_work(struct iscsi_conn *conn); conn 87 include/scsi/libiscsi_tcp.h extern int iscsi_tcp_recv_skb(struct iscsi_conn *conn, struct sk_buff *skb, conn 123 include/scsi/libiscsi_tcp.h extern int iscsi_tcp_set_max_r2t(struct iscsi_conn *conn, char *buf); conn 88 include/scsi/scsi_transport_iscsi.h int (*start_conn) (struct iscsi_cls_conn *conn); conn 89 include/scsi/scsi_transport_iscsi.h void (*stop_conn) (struct iscsi_cls_conn *conn, int flag); conn 90 include/scsi/scsi_transport_iscsi.h void (*destroy_conn) (struct iscsi_cls_conn *conn); conn 91 include/scsi/scsi_transport_iscsi.h int (*set_param) (struct iscsi_cls_conn *conn, enum iscsi_param param, conn 95 include/scsi/scsi_transport_iscsi.h int (*get_conn_param) (struct iscsi_cls_conn *conn, conn 104 include/scsi/scsi_transport_iscsi.h int (*send_pdu) (struct iscsi_cls_conn *conn, struct iscsi_hdr *hdr, conn 106 include/scsi/scsi_transport_iscsi.h void (*get_stats) (struct iscsi_cls_conn *conn, conn 117 include/scsi/scsi_transport_iscsi.h void (*parse_pdu_itt) (struct iscsi_conn *conn, itt_t itt, conn 169 include/scsi/scsi_transport_iscsi.h extern void iscsi_conn_error_event(struct iscsi_cls_conn *conn, conn 171 include/scsi/scsi_transport_iscsi.h extern void iscsi_conn_login_event(struct iscsi_cls_conn *conn, conn 173 include/scsi/scsi_transport_iscsi.h extern int iscsi_recv_pdu(struct iscsi_cls_conn *conn, struct iscsi_hdr *hdr, conn 278 include/scsi/scsi_transport_iscsi.h struct iscsi_cls_conn *conn; conn 426 include/scsi/scsi_transport_iscsi.h extern int iscsi_destroy_conn(struct iscsi_cls_conn *conn); conn 491 include/target/iscsi/iscsi_target_core.h struct iscsi_conn *conn; conn 721 include/target/iscsi/iscsi_target_core.h struct iscsi_conn *conn; conn 911 include/target/iscsi/iscsi_target_core.h struct iscsi_conn *conn, conn 920 include/target/iscsi/iscsi_target_core.h if (!conn->conn_tx_reset_cpumask) conn 922 include/target/iscsi/iscsi_target_core.h conn->conn_tx_reset_cpumask = 0; conn 924 include/target/iscsi/iscsi_target_core.h if (!conn->conn_rx_reset_cpumask) conn 926 include/target/iscsi/iscsi_target_core.h conn->conn_rx_reset_cpumask = 0; conn 933 include/target/iscsi/iscsi_target_core.h set_cpus_allowed_ptr(p, conn->conn_cpumask); conn 63 include/target/iscsi/iscsi_transport.h iscsit_check_dataout_hdr(struct iscsi_conn *conn, void *buf, conn 134 include/target/iscsi/iscsi_transport.h iscsit_find_cmd_from_itt_or_dump(struct iscsi_conn *conn, conn 555 include/trace/events/rxrpc.h __field(unsigned int, conn ) conn 562 include/trace/events/rxrpc.h __entry->conn = conn_debug_id; conn 569 include/trace/events/rxrpc.h __entry->conn, conn 576 include/trace/events/rxrpc.h TP_PROTO(struct rxrpc_connection *conn, int channel, conn 579 include/trace/events/rxrpc.h TP_ARGS(conn, channel, op), conn 582 include/trace/events/rxrpc.h __field(unsigned int, conn ) conn 591 include/trace/events/rxrpc.h __entry->conn = conn->debug_id; conn 593 include/trace/events/rxrpc.h __entry->usage = atomic_read(&conn->usage); conn 595 include/trace/events/rxrpc.h __entry->cid = conn->proto.cid; conn 596 include/trace/events/rxrpc.h __entry->cs = conn->cache_state; conn 600 include/trace/events/rxrpc.h __entry->conn, conn 1512 include/trace/events/rxrpc.h __entry->conn_serial = call->conn->hi_serial; conn 286 include/uapi/rdma/rdma_user_cm.h struct rdma_ucm_conn_param conn; conn 86 net/9p/trans_fd.c struct p9_conn *conn; conn 145 net/9p/trans_fd.c struct p9_conn conn; conn 522 net/9p/trans_fd.c struct p9_conn *m = pwait->conn; conn 562 net/9p/trans_fd.c pwait->conn = m; conn 579 net/9p/trans_fd.c struct p9_conn *m = &ts->conn; conn 660 net/9p/trans_fd.c struct p9_conn *m = &ts->conn; conn 898 net/9p/trans_fd.c p9_conn_destroy(&ts->conn); conn 1116 net/9p/trans_fd.c struct p9_conn *conn = list_first_entry(&p9_poll_pending_list, conn 1119 net/9p/trans_fd.c list_del_init(&conn->poll_pending_link); conn 1122 net/9p/trans_fd.c p9_poll_mux(conn); conn 147 net/bluetooth/6lowpan.c __peer_lookup_conn(struct lowpan_btle_dev *dev, struct l2cap_conn *conn) conn 152 net/bluetooth/6lowpan.c if (peer->chan->conn == conn) conn 226 net/bluetooth/6lowpan.c static struct lowpan_peer *lookup_peer(struct l2cap_conn *conn) conn 234 net/bluetooth/6lowpan.c peer = __peer_lookup_conn(entry, conn); conn 244 net/bluetooth/6lowpan.c static struct lowpan_btle_dev *lookup_dev(struct l2cap_conn *conn) conn 252 net/bluetooth/6lowpan.c if (conn->hcon->hdev == entry->hdev) { conn 378 net/bluetooth/6lowpan.c peer = lookup_peer(chan->conn); conn 382 net/bluetooth/6lowpan.c dev = lookup_dev(chan->conn); conn 698 net/bluetooth/6lowpan.c SET_NETDEV_DEV(netdev, &chan->conn->hcon->hdev->dev); conn 703 net/bluetooth/6lowpan.c (*dev)->hdev = chan->conn->hcon->hdev; conn 737 net/bluetooth/6lowpan.c dev = lookup_dev(chan->conn); conn 739 net/bluetooth/6lowpan.c BT_DBG("chan %p conn %p dev %p", chan, chan->conn, dev); conn 790 net/bluetooth/6lowpan.c BT_DBG("chan %p conn %p", chan, chan->conn); conn 792 net/bluetooth/6lowpan.c if (chan->conn && chan->conn->hcon) { conn 793 net/bluetooth/6lowpan.c if (!is_bt_6lowpan(chan->conn->hcon)) conn 841 net/bluetooth/6lowpan.c BT_DBG("chan %p conn %p state %s err %d", chan, chan->conn, conn 862 net/bluetooth/6lowpan.c dev = lookup_dev(chan->conn); conn 875 net/bluetooth/6lowpan.c dev = lookup_dev(chan->conn); conn 933 net/bluetooth/6lowpan.c static int bt_6lowpan_disconnect(struct l2cap_conn *conn, u8 dst_type) conn 937 net/bluetooth/6lowpan.c BT_DBG("conn %p dst type %d", conn, dst_type); conn 939 net/bluetooth/6lowpan.c peer = lookup_peer(conn); conn 982 net/bluetooth/6lowpan.c struct l2cap_conn **conn) conn 1008 net/bluetooth/6lowpan.c *conn = (struct l2cap_conn *)hcon->l2cap_data; conn 1010 net/bluetooth/6lowpan.c BT_DBG("conn %p dst %pMR type %d", *conn, &hcon->dst, hcon->dst_type); conn 1118 net/bluetooth/6lowpan.c struct l2cap_conn *conn = NULL; conn 1126 net/bluetooth/6lowpan.c ret = get_l2cap_conn(&buf[8], &addr, &addr_type, &conn); conn 1136 net/bluetooth/6lowpan.c if (conn) { conn 1139 net/bluetooth/6lowpan.c if (!is_bt_6lowpan(conn->hcon)) conn 1142 net/bluetooth/6lowpan.c peer = lookup_peer(conn); conn 1148 net/bluetooth/6lowpan.c BT_DBG("conn %p dst %pMR type %d user %d", conn, conn 1149 net/bluetooth/6lowpan.c &conn->hcon->dst, conn->hcon->dst_type, conn 1161 net/bluetooth/6lowpan.c ret = get_l2cap_conn(&buf[11], &addr, &addr_type, &conn); conn 1165 net/bluetooth/6lowpan.c ret = bt_6lowpan_disconnect(conn, addr_type); conn 240 net/bluetooth/a2mp.c struct l2cap_conn *conn = mgr->l2cap_conn; conn 243 net/bluetooth/a2mp.c mutex_lock(&conn->chan_lock); conn 245 net/bluetooth/a2mp.c list_for_each_entry(chan, &conn->chan_l, list) { conn 261 net/bluetooth/a2mp.c mutex_unlock(&conn->chan_lock); conn 751 net/bluetooth/a2mp.c static struct l2cap_chan *a2mp_chan_open(struct l2cap_conn *conn, bool locked) conn 791 net/bluetooth/a2mp.c __l2cap_chan_add(conn, chan); conn 793 net/bluetooth/a2mp.c l2cap_chan_add(conn, chan); conn 834 net/bluetooth/a2mp.c static struct amp_mgr *amp_mgr_create(struct l2cap_conn *conn, bool locked) conn 843 net/bluetooth/a2mp.c BT_DBG("conn %p mgr %p", conn, mgr); conn 845 net/bluetooth/a2mp.c mgr->l2cap_conn = conn; conn 847 net/bluetooth/a2mp.c chan = a2mp_chan_open(conn, locked); conn 856 net/bluetooth/a2mp.c conn->hcon->amp_mgr = mgr; conn 871 net/bluetooth/a2mp.c struct l2cap_chan *a2mp_channel_create(struct l2cap_conn *conn, conn 876 net/bluetooth/a2mp.c if (conn->hcon->type != ACL_LINK) conn 879 net/bluetooth/a2mp.c mgr = amp_mgr_create(conn, false); conn 1016 net/bluetooth/a2mp.c struct l2cap_conn *conn = chan->conn; conn 1017 net/bluetooth/a2mp.c struct amp_mgr *mgr = conn->hcon->amp_mgr; conn 1020 net/bluetooth/a2mp.c BT_DBG("chan %p conn %p mgr %p", chan, conn, mgr); conn 1023 net/bluetooth/a2mp.c mgr = amp_mgr_create(conn, true); conn 129 net/bluetooth/a2mp.h struct l2cap_chan *a2mp_channel_create(struct l2cap_conn *conn, conn 138 net/bluetooth/a2mp.h static inline struct l2cap_chan *a2mp_channel_create(struct l2cap_conn *conn, conn 167 net/bluetooth/amp.c int phylink_gen_key(struct hci_conn *conn, u8 *data, u8 *len, u8 *type) conn 169 net/bluetooth/amp.c struct hci_dev *hdev = conn->hdev; conn 175 net/bluetooth/amp.c if (!hci_conn_check_link_mode(conn)) conn 178 net/bluetooth/amp.c BT_DBG("conn %p key_type %d", conn, conn->key_type); conn 181 net/bluetooth/amp.c if (conn->key_type < 3) { conn 182 net/bluetooth/amp.c bt_dev_err(hdev, "legacy key type %d", conn->key_type); conn 186 net/bluetooth/amp.c *type = conn->key_type; conn 189 net/bluetooth/amp.c key = hci_find_link_key(hdev, &conn->dst); conn 191 net/bluetooth/amp.c BT_DBG("No Link key for conn %p dst %pMR", conn, &conn->dst); conn 206 net/bluetooth/amp.c if (conn->key_type == HCI_LK_DEBUG_COMBINATION) { conn 518 net/bluetooth/amp.c bredr_chan->conn->mtu = hs_hcon->hdev->block_mtu; conn 534 net/bluetooth/amp.c &chan->conn->hcon->dst); conn 571 net/bluetooth/amp.c struct hci_conn *hcon = hchan->conn; conn 544 net/bluetooth/bnep/core.c struct l2cap_conn *conn = l2cap_pi(session->sock->sk)->chan->conn; conn 546 net/bluetooth/bnep/core.c if (!conn || !conn->hcon) conn 549 net/bluetooth/bnep/core.c return &conn->hcon->dev; conn 63 net/bluetooth/hci_conn.c static void hci_connect_le_scan_cleanup(struct hci_conn *conn) conn 66 net/bluetooth/hci_conn.c struct hci_dev *hdev = conn->hdev; conn 71 net/bluetooth/hci_conn.c bdaddr = &conn->dst; conn 72 net/bluetooth/hci_conn.c bdaddr_type = conn->dst_type; conn 114 net/bluetooth/hci_conn.c static void hci_conn_cleanup(struct hci_conn *conn) conn 116 net/bluetooth/hci_conn.c struct hci_dev *hdev = conn->hdev; conn 118 net/bluetooth/hci_conn.c if (test_bit(HCI_CONN_PARAM_REMOVAL_PEND, &conn->flags)) conn 119 net/bluetooth/hci_conn.c hci_conn_params_del(conn->hdev, &conn->dst, conn->dst_type); conn 121 net/bluetooth/hci_conn.c hci_chan_list_flush(conn); conn 123 net/bluetooth/hci_conn.c hci_conn_hash_del(hdev, conn); conn 128 net/bluetooth/hci_conn.c hci_conn_del_sysfs(conn); conn 130 net/bluetooth/hci_conn.c debugfs_remove_recursive(conn->debugfs); conn 134 net/bluetooth/hci_conn.c hci_conn_put(conn); conn 139 net/bluetooth/hci_conn.c struct hci_conn *conn = container_of(work, struct hci_conn, conn 141 net/bluetooth/hci_conn.c struct hci_dev *hdev = conn->hdev; conn 144 net/bluetooth/hci_conn.c BT_DBG("%s hcon %p", hdev->name, conn); conn 151 net/bluetooth/hci_conn.c if (c == conn) conn 156 net/bluetooth/hci_conn.c if (c == conn) { conn 157 net/bluetooth/hci_conn.c hci_connect_le_scan_cleanup(conn); conn 158 net/bluetooth/hci_conn.c hci_conn_cleanup(conn); conn 163 net/bluetooth/hci_conn.c hci_conn_put(conn); conn 166 net/bluetooth/hci_conn.c static void hci_connect_le_scan_remove(struct hci_conn *conn) conn 168 net/bluetooth/hci_conn.c BT_DBG("%s hcon %p", conn->hdev->name, conn); conn 178 net/bluetooth/hci_conn.c hci_dev_hold(conn->hdev); conn 179 net/bluetooth/hci_conn.c hci_conn_get(conn); conn 185 net/bluetooth/hci_conn.c schedule_work(&conn->le_scan_cleanup); conn 188 net/bluetooth/hci_conn.c static void hci_acl_create_connection(struct hci_conn *conn) conn 190 net/bluetooth/hci_conn.c struct hci_dev *hdev = conn->hdev; conn 194 net/bluetooth/hci_conn.c BT_DBG("hcon %p", conn); conn 196 net/bluetooth/hci_conn.c conn->state = BT_CONNECT; conn 197 net/bluetooth/hci_conn.c conn->out = true; conn 198 net/bluetooth/hci_conn.c conn->role = HCI_ROLE_MASTER; conn 200 net/bluetooth/hci_conn.c conn->attempt++; conn 202 net/bluetooth/hci_conn.c conn->link_policy = hdev->link_policy; conn 205 net/bluetooth/hci_conn.c bacpy(&cp.bdaddr, &conn->dst); conn 208 net/bluetooth/hci_conn.c ie = hci_inquiry_cache_lookup(hdev, &conn->dst); conn 217 net/bluetooth/hci_conn.c memcpy(conn->dev_class, ie->data.dev_class, 3); conn 219 net/bluetooth/hci_conn.c set_bit(HCI_CONN_SSP_ENABLED, &conn->flags); conn 222 net/bluetooth/hci_conn.c cp.pkt_type = cpu_to_le16(conn->pkt_type); conn 231 net/bluetooth/hci_conn.c int hci_disconnect(struct hci_conn *conn, __u8 reason) conn 233 net/bluetooth/hci_conn.c BT_DBG("hcon %p", conn); conn 240 net/bluetooth/hci_conn.c if (conn->type == ACL_LINK && conn->role == HCI_ROLE_MASTER && conn 241 net/bluetooth/hci_conn.c (conn->state == BT_CONNECTED || conn->state == BT_CONFIG)) { conn 242 net/bluetooth/hci_conn.c struct hci_dev *hdev = conn->hdev; conn 245 net/bluetooth/hci_conn.c clkoff_cp.handle = cpu_to_le16(conn->handle); conn 250 net/bluetooth/hci_conn.c return hci_abort_conn(conn, reason); conn 253 net/bluetooth/hci_conn.c static void hci_add_sco(struct hci_conn *conn, __u16 handle) conn 255 net/bluetooth/hci_conn.c struct hci_dev *hdev = conn->hdev; conn 258 net/bluetooth/hci_conn.c BT_DBG("hcon %p", conn); conn 260 net/bluetooth/hci_conn.c conn->state = BT_CONNECT; conn 261 net/bluetooth/hci_conn.c conn->out = true; conn 263 net/bluetooth/hci_conn.c conn->attempt++; conn 266 net/bluetooth/hci_conn.c cp.pkt_type = cpu_to_le16(conn->pkt_type); conn 271 net/bluetooth/hci_conn.c bool hci_setup_sync(struct hci_conn *conn, __u16 handle) conn 273 net/bluetooth/hci_conn.c struct hci_dev *hdev = conn->hdev; conn 277 net/bluetooth/hci_conn.c BT_DBG("hcon %p", conn); conn 279 net/bluetooth/hci_conn.c conn->state = BT_CONNECT; conn 280 net/bluetooth/hci_conn.c conn->out = true; conn 282 net/bluetooth/hci_conn.c conn->attempt++; conn 288 net/bluetooth/hci_conn.c cp.voice_setting = cpu_to_le16(conn->setting); conn 290 net/bluetooth/hci_conn.c switch (conn->setting & SCO_AIRMODE_MASK) { conn 292 net/bluetooth/hci_conn.c if (conn->attempt > ARRAY_SIZE(esco_param_msbc)) conn 294 net/bluetooth/hci_conn.c param = &esco_param_msbc[conn->attempt - 1]; conn 297 net/bluetooth/hci_conn.c if (lmp_esco_capable(conn->link)) { conn 298 net/bluetooth/hci_conn.c if (conn->attempt > ARRAY_SIZE(esco_param_cvsd)) conn 300 net/bluetooth/hci_conn.c param = &esco_param_cvsd[conn->attempt - 1]; conn 302 net/bluetooth/hci_conn.c if (conn->attempt > ARRAY_SIZE(sco_param_cvsd)) conn 304 net/bluetooth/hci_conn.c param = &sco_param_cvsd[conn->attempt - 1]; conn 321 net/bluetooth/hci_conn.c u8 hci_le_conn_update(struct hci_conn *conn, u16 min, u16 max, u16 latency, conn 324 net/bluetooth/hci_conn.c struct hci_dev *hdev = conn->hdev; conn 330 net/bluetooth/hci_conn.c params = hci_conn_params_lookup(hdev, &conn->dst, conn->dst_type); conn 341 net/bluetooth/hci_conn.c cp.handle = cpu_to_le16(conn->handle); conn 357 net/bluetooth/hci_conn.c void hci_le_start_enc(struct hci_conn *conn, __le16 ediv, __le64 rand, conn 360 net/bluetooth/hci_conn.c struct hci_dev *hdev = conn->hdev; conn 363 net/bluetooth/hci_conn.c BT_DBG("hcon %p", conn); conn 367 net/bluetooth/hci_conn.c cp.handle = cpu_to_le16(conn->handle); conn 376 net/bluetooth/hci_conn.c void hci_sco_setup(struct hci_conn *conn, __u8 status) conn 378 net/bluetooth/hci_conn.c struct hci_conn *sco = conn->link; conn 383 net/bluetooth/hci_conn.c BT_DBG("hcon %p", conn); conn 386 net/bluetooth/hci_conn.c if (lmp_esco_capable(conn->hdev)) conn 387 net/bluetooth/hci_conn.c hci_setup_sync(sco, conn->handle); conn 389 net/bluetooth/hci_conn.c hci_add_sco(sco, conn->handle); conn 398 net/bluetooth/hci_conn.c struct hci_conn *conn = container_of(work, struct hci_conn, conn 400 net/bluetooth/hci_conn.c int refcnt = atomic_read(&conn->refcnt); conn 402 net/bluetooth/hci_conn.c BT_DBG("hcon %p state %s", conn, state_to_string(conn->state)); conn 417 net/bluetooth/hci_conn.c if (conn->state == BT_CONNECT && conn->type == LE_LINK && conn 418 net/bluetooth/hci_conn.c test_bit(HCI_CONN_SCANNING, &conn->flags)) { conn 419 net/bluetooth/hci_conn.c hci_connect_le_scan_remove(conn); conn 423 net/bluetooth/hci_conn.c hci_abort_conn(conn, hci_proto_disconn_ind(conn)); conn 429 net/bluetooth/hci_conn.c struct hci_conn *conn = container_of(work, struct hci_conn, conn 431 net/bluetooth/hci_conn.c struct hci_dev *hdev = conn->hdev; conn 433 net/bluetooth/hci_conn.c BT_DBG("hcon %p mode %d", conn, conn->mode); conn 435 net/bluetooth/hci_conn.c if (!lmp_sniff_capable(hdev) || !lmp_sniff_capable(conn)) conn 438 net/bluetooth/hci_conn.c if (conn->mode != HCI_CM_ACTIVE || !(conn->link_policy & HCI_LP_SNIFF)) conn 441 net/bluetooth/hci_conn.c if (lmp_sniffsubr_capable(hdev) && lmp_sniffsubr_capable(conn)) { conn 443 net/bluetooth/hci_conn.c cp.handle = cpu_to_le16(conn->handle); conn 450 net/bluetooth/hci_conn.c if (!test_and_set_bit(HCI_CONN_MODE_CHANGE_PEND, &conn->flags)) { conn 452 net/bluetooth/hci_conn.c cp.handle = cpu_to_le16(conn->handle); conn 463 net/bluetooth/hci_conn.c struct hci_conn *conn = container_of(work, struct hci_conn, conn 466 net/bluetooth/hci_conn.c hci_send_cmd(conn->hdev, HCI_OP_USER_CONFIRM_REPLY, sizeof(conn->dst), conn 467 net/bluetooth/hci_conn.c &conn->dst); conn 472 net/bluetooth/hci_conn.c struct hci_conn *conn = container_of(work, struct hci_conn, conn 474 net/bluetooth/hci_conn.c struct hci_dev *hdev = conn->hdev; conn 483 net/bluetooth/hci_conn.c if (conn->role == HCI_ROLE_SLAVE) { conn 487 net/bluetooth/hci_conn.c hci_le_conn_failed(conn, HCI_ERROR_ADVERTISING_TIMEOUT); conn 491 net/bluetooth/hci_conn.c hci_abort_conn(conn, HCI_ERROR_REMOTE_USER_TERM); conn 497 net/bluetooth/hci_conn.c struct hci_conn *conn; conn 501 net/bluetooth/hci_conn.c conn = kzalloc(sizeof(*conn), GFP_KERNEL); conn 502 net/bluetooth/hci_conn.c if (!conn) conn 505 net/bluetooth/hci_conn.c bacpy(&conn->dst, dst); conn 506 net/bluetooth/hci_conn.c bacpy(&conn->src, &hdev->bdaddr); conn 507 net/bluetooth/hci_conn.c conn->hdev = hdev; conn 508 net/bluetooth/hci_conn.c conn->type = type; conn 509 net/bluetooth/hci_conn.c conn->role = role; conn 510 net/bluetooth/hci_conn.c conn->mode = HCI_CM_ACTIVE; conn 511 net/bluetooth/hci_conn.c conn->state = BT_OPEN; conn 512 net/bluetooth/hci_conn.c conn->auth_type = HCI_AT_GENERAL_BONDING; conn 513 net/bluetooth/hci_conn.c conn->io_capability = hdev->io_capability; conn 514 net/bluetooth/hci_conn.c conn->remote_auth = 0xff; conn 515 net/bluetooth/hci_conn.c conn->key_type = 0xff; conn 516 net/bluetooth/hci_conn.c conn->rssi = HCI_RSSI_INVALID; conn 517 net/bluetooth/hci_conn.c conn->tx_power = HCI_TX_POWER_INVALID; conn 518 net/bluetooth/hci_conn.c conn->max_tx_power = HCI_TX_POWER_INVALID; conn 520 net/bluetooth/hci_conn.c set_bit(HCI_CONN_POWER_SAVE, &conn->flags); conn 521 net/bluetooth/hci_conn.c conn->disc_timeout = HCI_DISCONN_TIMEOUT; conn 524 net/bluetooth/hci_conn.c conn->auth_payload_timeout = DEFAULT_AUTH_PAYLOAD_TIMEOUT; conn 526 net/bluetooth/hci_conn.c if (conn->role == HCI_ROLE_MASTER) conn 527 net/bluetooth/hci_conn.c conn->out = true; conn 531 net/bluetooth/hci_conn.c conn->pkt_type = hdev->pkt_type & ACL_PTYPE_MASK; conn 535 net/bluetooth/hci_conn.c hci_copy_identity_address(hdev, &conn->src, &conn->src_type); conn 539 net/bluetooth/hci_conn.c conn->pkt_type = (hdev->esco_type & SCO_ESCO_MASK) | conn 542 net/bluetooth/hci_conn.c conn->pkt_type = hdev->pkt_type & SCO_PTYPE_MASK; conn 545 net/bluetooth/hci_conn.c conn->pkt_type = hdev->esco_type & ~EDR_ESCO_MASK; conn 549 net/bluetooth/hci_conn.c skb_queue_head_init(&conn->data_q); conn 551 net/bluetooth/hci_conn.c INIT_LIST_HEAD(&conn->chan_list); conn 553 net/bluetooth/hci_conn.c INIT_DELAYED_WORK(&conn->disc_work, hci_conn_timeout); conn 554 net/bluetooth/hci_conn.c INIT_DELAYED_WORK(&conn->auto_accept_work, hci_conn_auto_accept); conn 555 net/bluetooth/hci_conn.c INIT_DELAYED_WORK(&conn->idle_work, hci_conn_idle); conn 556 net/bluetooth/hci_conn.c INIT_DELAYED_WORK(&conn->le_conn_timeout, le_conn_timeout); conn 557 net/bluetooth/hci_conn.c INIT_WORK(&conn->le_scan_cleanup, le_scan_cleanup); conn 559 net/bluetooth/hci_conn.c atomic_set(&conn->refcnt, 0); conn 563 net/bluetooth/hci_conn.c hci_conn_hash_add(hdev, conn); conn 567 net/bluetooth/hci_conn.c hci_conn_init_sysfs(conn); conn 569 net/bluetooth/hci_conn.c return conn; conn 572 net/bluetooth/hci_conn.c int hci_conn_del(struct hci_conn *conn) conn 574 net/bluetooth/hci_conn.c struct hci_dev *hdev = conn->hdev; conn 576 net/bluetooth/hci_conn.c BT_DBG("%s hcon %p handle %d", hdev->name, conn, conn->handle); conn 578 net/bluetooth/hci_conn.c cancel_delayed_work_sync(&conn->disc_work); conn 579 net/bluetooth/hci_conn.c cancel_delayed_work_sync(&conn->auto_accept_work); conn 580 net/bluetooth/hci_conn.c cancel_delayed_work_sync(&conn->idle_work); conn 582 net/bluetooth/hci_conn.c if (conn->type == ACL_LINK) { conn 583 net/bluetooth/hci_conn.c struct hci_conn *sco = conn->link; conn 588 net/bluetooth/hci_conn.c hdev->acl_cnt += conn->sent; conn 589 net/bluetooth/hci_conn.c } else if (conn->type == LE_LINK) { conn 590 net/bluetooth/hci_conn.c cancel_delayed_work(&conn->le_conn_timeout); conn 593 net/bluetooth/hci_conn.c hdev->le_cnt += conn->sent; conn 595 net/bluetooth/hci_conn.c hdev->acl_cnt += conn->sent; conn 597 net/bluetooth/hci_conn.c struct hci_conn *acl = conn->link; conn 604 net/bluetooth/hci_conn.c if (conn->amp_mgr) conn 605 net/bluetooth/hci_conn.c amp_mgr_put(conn->amp_mgr); conn 607 net/bluetooth/hci_conn.c skb_queue_purge(&conn->data_q); conn 614 net/bluetooth/hci_conn.c hci_conn_cleanup(conn); conn 681 net/bluetooth/hci_conn.c void hci_le_conn_failed(struct hci_conn *conn, u8 status) conn 683 net/bluetooth/hci_conn.c struct hci_dev *hdev = conn->hdev; conn 686 net/bluetooth/hci_conn.c params = hci_pend_le_action_lookup(&hdev->pend_le_conns, &conn->dst, conn 687 net/bluetooth/hci_conn.c conn->dst_type); conn 688 net/bluetooth/hci_conn.c if (params && params->conn) { conn 689 net/bluetooth/hci_conn.c hci_conn_drop(params->conn); conn 690 net/bluetooth/hci_conn.c hci_conn_put(params->conn); conn 691 net/bluetooth/hci_conn.c params->conn = NULL; conn 694 net/bluetooth/hci_conn.c conn->state = BT_CLOSED; conn 704 net/bluetooth/hci_conn.c mgmt_connect_failed(hdev, &conn->dst, conn->type, conn 705 net/bluetooth/hci_conn.c conn->dst_type, status); conn 707 net/bluetooth/hci_conn.c hci_connect_cfm(conn, status); conn 709 net/bluetooth/hci_conn.c hci_conn_del(conn); conn 724 net/bluetooth/hci_conn.c struct hci_conn *conn; conn 728 net/bluetooth/hci_conn.c conn = hci_lookup_le_connect(hdev); conn 731 net/bluetooth/hci_conn.c hci_connect_le_scan_cleanup(conn); conn 738 net/bluetooth/hci_conn.c if (!conn) conn 741 net/bluetooth/hci_conn.c hci_le_conn_failed(conn, status); conn 747 net/bluetooth/hci_conn.c static bool conn_use_rpa(struct hci_conn *conn) conn 749 net/bluetooth/hci_conn.c struct hci_dev *hdev = conn->hdev; conn 754 net/bluetooth/hci_conn.c static void set_ext_conn_params(struct hci_conn *conn, conn 757 net/bluetooth/hci_conn.c struct hci_dev *hdev = conn->hdev; conn 766 net/bluetooth/hci_conn.c p->conn_interval_min = cpu_to_le16(conn->le_conn_min_interval); conn 767 net/bluetooth/hci_conn.c p->conn_interval_max = cpu_to_le16(conn->le_conn_max_interval); conn 768 net/bluetooth/hci_conn.c p->conn_latency = cpu_to_le16(conn->le_conn_latency); conn 769 net/bluetooth/hci_conn.c p->supervision_timeout = cpu_to_le16(conn->le_supv_timeout); conn 775 net/bluetooth/hci_conn.c struct hci_conn *conn, conn 778 net/bluetooth/hci_conn.c struct hci_dev *hdev = conn->hdev; conn 795 net/bluetooth/hci_conn.c if (hci_update_random_address(req, false, conn_use_rpa(conn), conn 811 net/bluetooth/hci_conn.c bacpy(&cp->peer_addr, &conn->dst); conn 812 net/bluetooth/hci_conn.c cp->peer_addr_type = conn->dst_type; conn 819 net/bluetooth/hci_conn.c set_ext_conn_params(conn, p); conn 827 net/bluetooth/hci_conn.c set_ext_conn_params(conn, p); conn 835 net/bluetooth/hci_conn.c set_ext_conn_params(conn, p); conn 853 net/bluetooth/hci_conn.c bacpy(&cp.peer_addr, &conn->dst); conn 854 net/bluetooth/hci_conn.c cp.peer_addr_type = conn->dst_type; conn 856 net/bluetooth/hci_conn.c cp.conn_interval_min = cpu_to_le16(conn->le_conn_min_interval); conn 857 net/bluetooth/hci_conn.c cp.conn_interval_max = cpu_to_le16(conn->le_conn_max_interval); conn 858 net/bluetooth/hci_conn.c cp.conn_latency = cpu_to_le16(conn->le_conn_latency); conn 859 net/bluetooth/hci_conn.c cp.supervision_timeout = cpu_to_le16(conn->le_supv_timeout); conn 866 net/bluetooth/hci_conn.c conn->state = BT_CONNECT; conn 867 net/bluetooth/hci_conn.c clear_bit(HCI_CONN_SCANNING, &conn->flags); conn 871 net/bluetooth/hci_conn.c struct hci_conn *conn) conn 884 net/bluetooth/hci_conn.c if (hci_get_random_address(hdev, false, conn_use_rpa(conn), NULL, conn 898 net/bluetooth/hci_conn.c cp.peer_addr_type = conn->dst_type; conn 899 net/bluetooth/hci_conn.c bacpy(&cp.peer_addr, &conn->dst); conn 932 net/bluetooth/hci_conn.c if (hci_update_random_address(req, false, conn_use_rpa(conn), conn 947 net/bluetooth/hci_conn.c cp.direct_addr_type = conn->dst_type; conn 948 net/bluetooth/hci_conn.c bacpy(&cp.direct_addr, &conn->dst); conn 958 net/bluetooth/hci_conn.c conn->state = BT_CONNECT; conn 966 net/bluetooth/hci_conn.c struct hci_conn *conn; conn 990 net/bluetooth/hci_conn.c conn = hci_conn_hash_lookup_le(hdev, dst, dst_type); conn 991 net/bluetooth/hci_conn.c if (conn && !test_bit(HCI_CONN_SCANNING, &conn->flags)) { conn 1010 net/bluetooth/hci_conn.c if (conn) { conn 1011 net/bluetooth/hci_conn.c bacpy(&conn->dst, dst); conn 1013 net/bluetooth/hci_conn.c conn = hci_conn_add(hdev, LE_LINK, dst, role); conn 1014 net/bluetooth/hci_conn.c if (!conn) conn 1016 net/bluetooth/hci_conn.c hci_conn_hold(conn); conn 1017 net/bluetooth/hci_conn.c conn->pending_sec_level = sec_level; conn 1020 net/bluetooth/hci_conn.c conn->dst_type = dst_type; conn 1021 net/bluetooth/hci_conn.c conn->sec_level = BT_SECURITY_LOW; conn 1022 net/bluetooth/hci_conn.c conn->conn_timeout = conn_timeout; conn 1039 net/bluetooth/hci_conn.c if (conn->role == HCI_ROLE_SLAVE) { conn 1046 net/bluetooth/hci_conn.c hci_conn_del(conn); conn 1050 net/bluetooth/hci_conn.c hci_req_directed_advertising(&req, conn); conn 1054 net/bluetooth/hci_conn.c params = hci_conn_params_lookup(hdev, &conn->dst, conn->dst_type); conn 1056 net/bluetooth/hci_conn.c conn->le_conn_min_interval = params->conn_min_interval; conn 1057 net/bluetooth/hci_conn.c conn->le_conn_max_interval = params->conn_max_interval; conn 1058 net/bluetooth/hci_conn.c conn->le_conn_latency = params->conn_latency; conn 1059 net/bluetooth/hci_conn.c conn->le_supv_timeout = params->supervision_timeout; conn 1061 net/bluetooth/hci_conn.c conn->le_conn_min_interval = hdev->le_conn_min_interval; conn 1062 net/bluetooth/hci_conn.c conn->le_conn_max_interval = hdev->le_conn_max_interval; conn 1063 net/bluetooth/hci_conn.c conn->le_conn_latency = hdev->le_conn_latency; conn 1064 net/bluetooth/hci_conn.c conn->le_supv_timeout = hdev->le_supv_timeout; conn 1078 net/bluetooth/hci_conn.c hci_req_add_le_create_conn(&req, conn, direct_rpa); conn 1083 net/bluetooth/hci_conn.c hci_conn_del(conn); conn 1087 net/bluetooth/hci_conn.c return conn; conn 1092 net/bluetooth/hci_conn.c struct hci_conn *conn; conn 1094 net/bluetooth/hci_conn.c conn = hci_conn_hash_lookup_le(hdev, addr, type); conn 1095 net/bluetooth/hci_conn.c if (!conn) conn 1098 net/bluetooth/hci_conn.c if (conn->state != BT_CONNECTED) conn 1147 net/bluetooth/hci_conn.c struct hci_conn *conn; conn 1166 net/bluetooth/hci_conn.c conn = hci_conn_hash_lookup_le(hdev, dst, dst_type); conn 1167 net/bluetooth/hci_conn.c if (conn) { conn 1168 net/bluetooth/hci_conn.c if (conn->pending_sec_level < sec_level) conn 1169 net/bluetooth/hci_conn.c conn->pending_sec_level = sec_level; conn 1175 net/bluetooth/hci_conn.c conn = hci_conn_add(hdev, LE_LINK, dst, HCI_ROLE_MASTER); conn 1176 net/bluetooth/hci_conn.c if (!conn) conn 1180 net/bluetooth/hci_conn.c hci_conn_del(conn); conn 1184 net/bluetooth/hci_conn.c conn->state = BT_CONNECT; conn 1185 net/bluetooth/hci_conn.c set_bit(HCI_CONN_SCANNING, &conn->flags); conn 1186 net/bluetooth/hci_conn.c conn->dst_type = dst_type; conn 1187 net/bluetooth/hci_conn.c conn->sec_level = BT_SECURITY_LOW; conn 1188 net/bluetooth/hci_conn.c conn->pending_sec_level = sec_level; conn 1189 net/bluetooth/hci_conn.c conn->conn_timeout = conn_timeout; conn 1194 net/bluetooth/hci_conn.c hci_conn_hold(conn); conn 1195 net/bluetooth/hci_conn.c return conn; conn 1273 net/bluetooth/hci_conn.c int hci_conn_check_link_mode(struct hci_conn *conn) conn 1275 net/bluetooth/hci_conn.c BT_DBG("hcon %p", conn); conn 1281 net/bluetooth/hci_conn.c if (hci_dev_test_flag(conn->hdev, HCI_SC_ONLY)) { conn 1282 net/bluetooth/hci_conn.c if (!hci_conn_sc_enabled(conn) || conn 1283 net/bluetooth/hci_conn.c !test_bit(HCI_CONN_AES_CCM, &conn->flags) || conn 1284 net/bluetooth/hci_conn.c conn->key_type != HCI_LK_AUTH_COMBINATION_P256) conn 1288 net/bluetooth/hci_conn.c if (hci_conn_ssp_enabled(conn) && conn 1289 net/bluetooth/hci_conn.c !test_bit(HCI_CONN_ENCRYPT, &conn->flags)) conn 1296 net/bluetooth/hci_conn.c static int hci_conn_auth(struct hci_conn *conn, __u8 sec_level, __u8 auth_type) conn 1298 net/bluetooth/hci_conn.c BT_DBG("hcon %p", conn); conn 1300 net/bluetooth/hci_conn.c if (conn->pending_sec_level > sec_level) conn 1301 net/bluetooth/hci_conn.c sec_level = conn->pending_sec_level; conn 1303 net/bluetooth/hci_conn.c if (sec_level > conn->sec_level) conn 1304 net/bluetooth/hci_conn.c conn->pending_sec_level = sec_level; conn 1305 net/bluetooth/hci_conn.c else if (test_bit(HCI_CONN_AUTH, &conn->flags)) conn 1309 net/bluetooth/hci_conn.c auth_type |= (conn->auth_type & 0x01); conn 1311 net/bluetooth/hci_conn.c conn->auth_type = auth_type; conn 1313 net/bluetooth/hci_conn.c if (!test_and_set_bit(HCI_CONN_AUTH_PEND, &conn->flags)) { conn 1316 net/bluetooth/hci_conn.c cp.handle = cpu_to_le16(conn->handle); conn 1317 net/bluetooth/hci_conn.c hci_send_cmd(conn->hdev, HCI_OP_AUTH_REQUESTED, conn 1323 net/bluetooth/hci_conn.c if (test_bit(HCI_CONN_ENCRYPT, &conn->flags)) conn 1324 net/bluetooth/hci_conn.c set_bit(HCI_CONN_REAUTH_PEND, &conn->flags); conn 1326 net/bluetooth/hci_conn.c set_bit(HCI_CONN_ENCRYPT_PEND, &conn->flags); conn 1333 net/bluetooth/hci_conn.c static void hci_conn_encrypt(struct hci_conn *conn) conn 1335 net/bluetooth/hci_conn.c BT_DBG("hcon %p", conn); conn 1337 net/bluetooth/hci_conn.c if (!test_and_set_bit(HCI_CONN_ENCRYPT_PEND, &conn->flags)) { conn 1339 net/bluetooth/hci_conn.c cp.handle = cpu_to_le16(conn->handle); conn 1341 net/bluetooth/hci_conn.c hci_send_cmd(conn->hdev, HCI_OP_SET_CONN_ENCRYPT, sizeof(cp), conn 1347 net/bluetooth/hci_conn.c int hci_conn_security(struct hci_conn *conn, __u8 sec_level, __u8 auth_type, conn 1350 net/bluetooth/hci_conn.c BT_DBG("hcon %p", conn); conn 1352 net/bluetooth/hci_conn.c if (conn->type == LE_LINK) conn 1353 net/bluetooth/hci_conn.c return smp_conn_security(conn, sec_level); conn 1361 net/bluetooth/hci_conn.c if (sec_level == BT_SECURITY_LOW && !hci_conn_ssp_enabled(conn)) conn 1365 net/bluetooth/hci_conn.c if (!test_bit(HCI_CONN_AUTH, &conn->flags)) conn 1370 net/bluetooth/hci_conn.c if (conn->key_type == HCI_LK_AUTH_COMBINATION_P256 && conn 1376 net/bluetooth/hci_conn.c if ((conn->key_type == HCI_LK_AUTH_COMBINATION_P192 || conn 1377 net/bluetooth/hci_conn.c conn->key_type == HCI_LK_AUTH_COMBINATION_P256) && conn 1383 net/bluetooth/hci_conn.c if ((conn->key_type == HCI_LK_UNAUTH_COMBINATION_P192 || conn 1384 net/bluetooth/hci_conn.c conn->key_type == HCI_LK_UNAUTH_COMBINATION_P256) && conn 1392 net/bluetooth/hci_conn.c if (conn->key_type == HCI_LK_COMBINATION && conn 1394 net/bluetooth/hci_conn.c conn->pin_length == 16)) conn 1398 net/bluetooth/hci_conn.c if (test_bit(HCI_CONN_ENCRYPT_PEND, &conn->flags)) conn 1402 net/bluetooth/hci_conn.c set_bit(HCI_CONN_AUTH_INITIATOR, &conn->flags); conn 1404 net/bluetooth/hci_conn.c if (!hci_conn_auth(conn, sec_level, auth_type)) conn 1408 net/bluetooth/hci_conn.c if (test_bit(HCI_CONN_ENCRYPT, &conn->flags)) { conn 1412 net/bluetooth/hci_conn.c if (!conn->enc_key_size) conn 1419 net/bluetooth/hci_conn.c hci_conn_encrypt(conn); conn 1425 net/bluetooth/hci_conn.c int hci_conn_check_secure(struct hci_conn *conn, __u8 sec_level) conn 1427 net/bluetooth/hci_conn.c BT_DBG("hcon %p", conn); conn 1434 net/bluetooth/hci_conn.c if (conn->sec_level == BT_SECURITY_HIGH || conn 1435 net/bluetooth/hci_conn.c conn->sec_level == BT_SECURITY_FIPS) conn 1444 net/bluetooth/hci_conn.c int hci_conn_switch_role(struct hci_conn *conn, __u8 role) conn 1446 net/bluetooth/hci_conn.c BT_DBG("hcon %p", conn); conn 1448 net/bluetooth/hci_conn.c if (role == conn->role) conn 1451 net/bluetooth/hci_conn.c if (!test_and_set_bit(HCI_CONN_RSWITCH_PEND, &conn->flags)) { conn 1453 net/bluetooth/hci_conn.c bacpy(&cp.bdaddr, &conn->dst); conn 1455 net/bluetooth/hci_conn.c hci_send_cmd(conn->hdev, HCI_OP_SWITCH_ROLE, sizeof(cp), &cp); conn 1463 net/bluetooth/hci_conn.c void hci_conn_enter_active_mode(struct hci_conn *conn, __u8 force_active) conn 1465 net/bluetooth/hci_conn.c struct hci_dev *hdev = conn->hdev; conn 1467 net/bluetooth/hci_conn.c BT_DBG("hcon %p mode %d", conn, conn->mode); conn 1469 net/bluetooth/hci_conn.c if (conn->mode != HCI_CM_SNIFF) conn 1472 net/bluetooth/hci_conn.c if (!test_bit(HCI_CONN_POWER_SAVE, &conn->flags) && !force_active) conn 1475 net/bluetooth/hci_conn.c if (!test_and_set_bit(HCI_CONN_MODE_CHANGE_PEND, &conn->flags)) { conn 1477 net/bluetooth/hci_conn.c cp.handle = cpu_to_le16(conn->handle); conn 1483 net/bluetooth/hci_conn.c queue_delayed_work(hdev->workqueue, &conn->idle_work, conn 1506 net/bluetooth/hci_conn.c struct hci_conn *conn; conn 1512 net/bluetooth/hci_conn.c conn = hci_conn_hash_lookup_state(hdev, ACL_LINK, BT_CONNECT2); conn 1513 net/bluetooth/hci_conn.c if (conn) conn 1514 net/bluetooth/hci_conn.c hci_acl_create_connection(conn); conn 1519 net/bluetooth/hci_conn.c static u32 get_link_mode(struct hci_conn *conn) conn 1523 net/bluetooth/hci_conn.c if (conn->role == HCI_ROLE_MASTER) conn 1526 net/bluetooth/hci_conn.c if (test_bit(HCI_CONN_ENCRYPT, &conn->flags)) conn 1529 net/bluetooth/hci_conn.c if (test_bit(HCI_CONN_AUTH, &conn->flags)) conn 1532 net/bluetooth/hci_conn.c if (test_bit(HCI_CONN_SECURE, &conn->flags)) conn 1535 net/bluetooth/hci_conn.c if (test_bit(HCI_CONN_FIPS, &conn->flags)) conn 1598 net/bluetooth/hci_conn.c struct hci_conn *conn; conn 1605 net/bluetooth/hci_conn.c conn = hci_conn_hash_lookup_ba(hdev, req.type, &req.bdaddr); conn 1606 net/bluetooth/hci_conn.c if (conn) { conn 1607 net/bluetooth/hci_conn.c bacpy(&ci.bdaddr, &conn->dst); conn 1608 net/bluetooth/hci_conn.c ci.handle = conn->handle; conn 1609 net/bluetooth/hci_conn.c ci.type = conn->type; conn 1610 net/bluetooth/hci_conn.c ci.out = conn->out; conn 1611 net/bluetooth/hci_conn.c ci.state = conn->state; conn 1612 net/bluetooth/hci_conn.c ci.link_mode = get_link_mode(conn); conn 1616 net/bluetooth/hci_conn.c if (!conn) conn 1625 net/bluetooth/hci_conn.c struct hci_conn *conn; conn 1631 net/bluetooth/hci_conn.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &req.bdaddr); conn 1632 net/bluetooth/hci_conn.c if (conn) conn 1633 net/bluetooth/hci_conn.c req.type = conn->auth_type; conn 1636 net/bluetooth/hci_conn.c if (!conn) conn 1642 net/bluetooth/hci_conn.c struct hci_chan *hci_chan_create(struct hci_conn *conn) conn 1644 net/bluetooth/hci_conn.c struct hci_dev *hdev = conn->hdev; conn 1647 net/bluetooth/hci_conn.c BT_DBG("%s hcon %p", hdev->name, conn); conn 1649 net/bluetooth/hci_conn.c if (test_bit(HCI_CONN_DROP, &conn->flags)) { conn 1658 net/bluetooth/hci_conn.c chan->conn = hci_conn_get(conn); conn 1662 net/bluetooth/hci_conn.c list_add_rcu(&chan->list, &conn->chan_list); conn 1669 net/bluetooth/hci_conn.c struct hci_conn *conn = chan->conn; conn 1670 net/bluetooth/hci_conn.c struct hci_dev *hdev = conn->hdev; conn 1672 net/bluetooth/hci_conn.c BT_DBG("%s hcon %p chan %p", hdev->name, conn, chan); conn 1679 net/bluetooth/hci_conn.c set_bit(HCI_CONN_DROP, &conn->flags); conn 1681 net/bluetooth/hci_conn.c hci_conn_put(conn); conn 1687 net/bluetooth/hci_conn.c void hci_chan_list_flush(struct hci_conn *conn) conn 1691 net/bluetooth/hci_conn.c BT_DBG("hcon %p", conn); conn 1693 net/bluetooth/hci_conn.c list_for_each_entry_safe(chan, n, &conn->chan_list, list) conn 1651 net/bluetooth/hci_core.c if (p->conn) { conn 1652 net/bluetooth/hci_core.c hci_conn_drop(p->conn); conn 1653 net/bluetooth/hci_core.c hci_conn_put(p->conn); conn 1654 net/bluetooth/hci_core.c p->conn = NULL; conn 2330 net/bluetooth/hci_core.c static bool hci_persistent_key(struct hci_dev *hdev, struct hci_conn *conn, conn 2346 net/bluetooth/hci_core.c if (!conn) conn 2350 net/bluetooth/hci_core.c if (conn->type == LE_LINK) conn 2354 net/bluetooth/hci_core.c if (conn->auth_type > 0x01 && conn->remote_auth > 0x01) conn 2358 net/bluetooth/hci_core.c if (conn->auth_type == 0x02 || conn->auth_type == 0x03) conn 2362 net/bluetooth/hci_core.c if (conn->remote_auth == 0x02 || conn->remote_auth == 0x03) conn 2444 net/bluetooth/hci_core.c struct link_key *hci_add_link_key(struct hci_dev *hdev, struct hci_conn *conn, conn 2456 net/bluetooth/hci_core.c old_key_type = conn ? conn->key_type : 0xff; conn 2469 net/bluetooth/hci_core.c (!conn || conn->remote_auth == 0xff) && old_key_type == 0xff) { conn 2471 net/bluetooth/hci_core.c if (conn) conn 2472 net/bluetooth/hci_core.c conn->key_type = type; conn 2485 net/bluetooth/hci_core.c *persistent = hci_persistent_key(hdev, conn, type, conn 3088 net/bluetooth/hci_core.c if (params->conn) { conn 3089 net/bluetooth/hci_core.c hci_conn_drop(params->conn); conn 3090 net/bluetooth/hci_core.c hci_conn_put(params->conn); conn 3723 net/bluetooth/hci_core.c struct hci_conn *conn = chan->conn; conn 3724 net/bluetooth/hci_core.c struct hci_dev *hdev = conn->hdev; conn 3734 net/bluetooth/hci_core.c hci_add_acl_hdr(skb, conn->handle, flags); conn 3771 net/bluetooth/hci_core.c hci_add_acl_hdr(skb, conn->handle, flags); conn 3784 net/bluetooth/hci_core.c struct hci_dev *hdev = chan->conn->hdev; conn 3794 net/bluetooth/hci_core.c void hci_send_sco(struct hci_conn *conn, struct sk_buff *skb) conn 3796 net/bluetooth/hci_core.c struct hci_dev *hdev = conn->hdev; conn 3801 net/bluetooth/hci_core.c hdr.handle = cpu_to_le16(conn->handle); conn 3810 net/bluetooth/hci_core.c skb_queue_tail(&conn->data_q, skb); conn 3821 net/bluetooth/hci_core.c struct hci_conn *conn = NULL, *c; conn 3840 net/bluetooth/hci_core.c conn = c; conn 3849 net/bluetooth/hci_core.c if (conn) { conn 3852 net/bluetooth/hci_core.c switch (conn->type) { conn 3865 net/bluetooth/hci_core.c bt_dev_err(hdev, "unknown link type %d", conn->type); conn 3873 net/bluetooth/hci_core.c BT_DBG("conn %p quote %d", conn, *quote); conn 3874 net/bluetooth/hci_core.c return conn; conn 3904 net/bluetooth/hci_core.c struct hci_conn *conn; conn 3911 net/bluetooth/hci_core.c list_for_each_entry_rcu(conn, &h->list, list) { conn 3914 net/bluetooth/hci_core.c if (conn->type != type) conn 3917 net/bluetooth/hci_core.c if (conn->state != BT_CONNECTED && conn->state != BT_CONFIG) conn 3922 net/bluetooth/hci_core.c list_for_each_entry_rcu(tmp, &conn->chan_list, list) { conn 3940 net/bluetooth/hci_core.c if (conn->sent < min) { conn 3941 net/bluetooth/hci_core.c min = conn->sent; conn 3955 net/bluetooth/hci_core.c switch (chan->conn->type) { conn 3971 net/bluetooth/hci_core.c bt_dev_err(hdev, "unknown link type %d", chan->conn->type); conn 3983 net/bluetooth/hci_core.c struct hci_conn *conn; conn 3990 net/bluetooth/hci_core.c list_for_each_entry_rcu(conn, &h->list, list) { conn 3993 net/bluetooth/hci_core.c if (conn->type != type) conn 3996 net/bluetooth/hci_core.c if (conn->state != BT_CONNECTED && conn->state != BT_CONFIG) conn 4001 net/bluetooth/hci_core.c list_for_each_entry_rcu(chan, &conn->chan_list, list) { conn 4069 net/bluetooth/hci_core.c hci_conn_enter_active_mode(chan->conn, conn 4077 net/bluetooth/hci_core.c chan->conn->sent++; conn 4121 net/bluetooth/hci_core.c hci_conn_enter_active_mode(chan->conn, conn 4131 net/bluetooth/hci_core.c chan->conn->sent += blocks; conn 4165 net/bluetooth/hci_core.c struct hci_conn *conn; conn 4174 net/bluetooth/hci_core.c while (hdev->sco_cnt && (conn = hci_low_sent(hdev, SCO_LINK, "e))) { conn 4175 net/bluetooth/hci_core.c while (quote-- && (skb = skb_dequeue(&conn->data_q))) { conn 4179 net/bluetooth/hci_core.c conn->sent++; conn 4180 net/bluetooth/hci_core.c if (conn->sent == ~0) conn 4181 net/bluetooth/hci_core.c conn->sent = 0; conn 4188 net/bluetooth/hci_core.c struct hci_conn *conn; conn 4197 net/bluetooth/hci_core.c while (hdev->sco_cnt && (conn = hci_low_sent(hdev, ESCO_LINK, conn 4199 net/bluetooth/hci_core.c while (quote-- && (skb = skb_dequeue(&conn->data_q))) { conn 4203 net/bluetooth/hci_core.c conn->sent++; conn 4204 net/bluetooth/hci_core.c if (conn->sent == ~0) conn 4205 net/bluetooth/hci_core.c conn->sent = 0; conn 4248 net/bluetooth/hci_core.c chan->conn->sent++; conn 4288 net/bluetooth/hci_core.c struct hci_conn *conn; conn 4303 net/bluetooth/hci_core.c conn = hci_conn_hash_lookup_handle(hdev, handle); conn 4306 net/bluetooth/hci_core.c if (conn) { conn 4307 net/bluetooth/hci_core.c hci_conn_enter_active_mode(conn, BT_POWER_FORCE_ACTIVE_OFF); conn 4310 net/bluetooth/hci_core.c l2cap_recv_acldata(conn, skb, flags); conn 4324 net/bluetooth/hci_core.c struct hci_conn *conn; conn 4336 net/bluetooth/hci_core.c conn = hci_conn_hash_lookup_handle(hdev, handle); conn 4339 net/bluetooth/hci_core.c if (conn) { conn 4341 net/bluetooth/hci_core.c sco_recv_scodata(conn, skb); conn 1068 net/bluetooth/hci_debugfs.c void hci_debugfs_create_conn(struct hci_conn *conn) conn 1070 net/bluetooth/hci_debugfs.c struct hci_dev *hdev = conn->hdev; conn 1076 net/bluetooth/hci_debugfs.c snprintf(name, sizeof(name), "%u", conn->handle); conn 1077 net/bluetooth/hci_debugfs.c conn->debugfs = debugfs_create_dir(name, hdev->debugfs); conn 28 net/bluetooth/hci_debugfs.h void hci_debugfs_create_conn(struct hci_conn *conn); conn 44 net/bluetooth/hci_debugfs.h static inline void hci_debugfs_create_conn(struct hci_conn *conn) conn 104 net/bluetooth/hci_event.c struct hci_conn *conn; conn 113 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(rp->handle)); conn 114 net/bluetooth/hci_event.c if (conn) conn 115 net/bluetooth/hci_event.c conn->role = rp->role; conn 123 net/bluetooth/hci_event.c struct hci_conn *conn; conn 132 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(rp->handle)); conn 133 net/bluetooth/hci_event.c if (conn) conn 134 net/bluetooth/hci_event.c conn->link_policy = __le16_to_cpu(rp->policy); conn 142 net/bluetooth/hci_event.c struct hci_conn *conn; conn 156 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(rp->handle)); conn 157 net/bluetooth/hci_event.c if (conn) conn 158 net/bluetooth/hci_event.c conn->link_policy = get_unaligned_le16(sent + 2); conn 586 net/bluetooth/hci_event.c struct hci_conn *conn; conn 595 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(rp->handle)); conn 596 net/bluetooth/hci_event.c if (conn) conn 597 net/bluetooth/hci_event.c conn->auth_payload_timeout = __le16_to_cpu(rp->timeout); conn 606 net/bluetooth/hci_event.c struct hci_conn *conn; conn 620 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(rp->handle)); conn 621 net/bluetooth/hci_event.c if (conn) conn 622 net/bluetooth/hci_event.c conn->auth_payload_timeout = get_unaligned_le16(sent + 2); conn 838 net/bluetooth/hci_event.c struct hci_conn *conn; conn 859 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(rp->handle)); conn 860 net/bluetooth/hci_event.c if (conn) { conn 861 net/bluetooth/hci_event.c conn->clock = le32_to_cpu(rp->clock); conn 862 net/bluetooth/hci_event.c conn->clock_accuracy = le16_to_cpu(rp->accuracy); conn 908 net/bluetooth/hci_event.c struct hci_conn *conn; conn 924 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &cp->bdaddr); conn 925 net/bluetooth/hci_event.c if (conn) conn 926 net/bluetooth/hci_event.c conn->pin_length = cp->pin_len; conn 1160 net/bluetooth/hci_event.c struct hci_conn *conn; conn 1164 net/bluetooth/hci_event.c conn = hci_lookup_le_connect(hdev); conn 1165 net/bluetooth/hci_event.c if (conn) conn 1167 net/bluetooth/hci_event.c &conn->le_conn_timeout, conn 1168 net/bluetooth/hci_event.c conn->conn_timeout); conn 1194 net/bluetooth/hci_event.c struct hci_conn *conn; conn 1198 net/bluetooth/hci_event.c conn = hci_lookup_le_connect(hdev); conn 1199 net/bluetooth/hci_event.c if (conn) conn 1201 net/bluetooth/hci_event.c &conn->le_conn_timeout, conn 1202 net/bluetooth/hci_event.c conn->conn_timeout); conn 1694 net/bluetooth/hci_event.c struct hci_conn *conn; conn 1703 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(rp->handle)); conn 1704 net/bluetooth/hci_event.c if (conn) conn 1705 net/bluetooth/hci_event.c conn->rssi = rp->rssi; conn 1714 net/bluetooth/hci_event.c struct hci_conn *conn; conn 1727 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(rp->handle)); conn 1728 net/bluetooth/hci_event.c if (!conn) conn 1733 net/bluetooth/hci_event.c conn->tx_power = rp->tx_power; conn 1736 net/bluetooth/hci_event.c conn->max_tx_power = rp->tx_power; conn 1774 net/bluetooth/hci_event.c struct hci_conn *conn; conn 1784 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &cp->bdaddr); conn 1786 net/bluetooth/hci_event.c BT_DBG("%s bdaddr %pMR hcon %p", hdev->name, &cp->bdaddr, conn); conn 1789 net/bluetooth/hci_event.c if (conn && conn->state == BT_CONNECT) { conn 1790 net/bluetooth/hci_event.c if (status != 0x0c || conn->attempt > 2) { conn 1791 net/bluetooth/hci_event.c conn->state = BT_CLOSED; conn 1792 net/bluetooth/hci_event.c hci_connect_cfm(conn, status); conn 1793 net/bluetooth/hci_event.c hci_conn_del(conn); conn 1795 net/bluetooth/hci_event.c conn->state = BT_CONNECT2; conn 1798 net/bluetooth/hci_event.c if (!conn) { conn 1799 net/bluetooth/hci_event.c conn = hci_conn_add(hdev, ACL_LINK, &cp->bdaddr, conn 1801 net/bluetooth/hci_event.c if (!conn) conn 1847 net/bluetooth/hci_event.c struct hci_conn *conn; conn 1860 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(cp->handle)); conn 1861 net/bluetooth/hci_event.c if (conn) { conn 1862 net/bluetooth/hci_event.c if (conn->state == BT_CONFIG) { conn 1863 net/bluetooth/hci_event.c hci_connect_cfm(conn, status); conn 1864 net/bluetooth/hci_event.c hci_conn_drop(conn); conn 1874 net/bluetooth/hci_event.c struct hci_conn *conn; conn 1887 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(cp->handle)); conn 1888 net/bluetooth/hci_event.c if (conn) { conn 1889 net/bluetooth/hci_event.c if (conn->state == BT_CONFIG) { conn 1890 net/bluetooth/hci_event.c hci_connect_cfm(conn, status); conn 1891 net/bluetooth/hci_event.c hci_conn_drop(conn); conn 1899 net/bluetooth/hci_event.c struct hci_conn *conn) conn 1901 net/bluetooth/hci_event.c if (conn->state != BT_CONFIG || !conn->out) conn 1904 net/bluetooth/hci_event.c if (conn->pending_sec_level == BT_SECURITY_SDP) conn 1911 net/bluetooth/hci_event.c if (!hci_conn_ssp_enabled(conn) && !(conn->auth_type & 0x01) && conn 1912 net/bluetooth/hci_event.c conn->pending_sec_level != BT_SECURITY_FIPS && conn 1913 net/bluetooth/hci_event.c conn->pending_sec_level != BT_SECURITY_HIGH && conn 1914 net/bluetooth/hci_event.c conn->pending_sec_level != BT_SECURITY_MEDIUM) conn 1955 net/bluetooth/hci_event.c static void hci_check_pending_name(struct hci_dev *hdev, struct hci_conn *conn, conn 1966 net/bluetooth/hci_event.c if (conn && conn 1967 net/bluetooth/hci_event.c (conn->state == BT_CONFIG || conn->state == BT_CONNECTED) && conn 1968 net/bluetooth/hci_event.c !test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags)) conn 1969 net/bluetooth/hci_event.c mgmt_device_connected(hdev, conn, 0, name, name_len); conn 2007 net/bluetooth/hci_event.c struct hci_conn *conn; conn 2022 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &cp->bdaddr); conn 2025 net/bluetooth/hci_event.c hci_check_pending_name(hdev, conn, &cp->bdaddr, NULL, 0); conn 2027 net/bluetooth/hci_event.c if (!conn) conn 2030 net/bluetooth/hci_event.c if (!hci_outgoing_auth_needed(hdev, conn)) conn 2033 net/bluetooth/hci_event.c if (!test_and_set_bit(HCI_CONN_AUTH_PEND, &conn->flags)) { conn 2036 net/bluetooth/hci_event.c set_bit(HCI_CONN_AUTH_INITIATOR, &conn->flags); conn 2038 net/bluetooth/hci_event.c auth_cp.handle = __cpu_to_le16(conn->handle); conn 2050 net/bluetooth/hci_event.c struct hci_conn *conn; conn 2063 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(cp->handle)); conn 2064 net/bluetooth/hci_event.c if (conn) { conn 2065 net/bluetooth/hci_event.c if (conn->state == BT_CONFIG) { conn 2066 net/bluetooth/hci_event.c hci_connect_cfm(conn, status); conn 2067 net/bluetooth/hci_event.c hci_conn_drop(conn); conn 2077 net/bluetooth/hci_event.c struct hci_conn *conn; conn 2090 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(cp->handle)); conn 2091 net/bluetooth/hci_event.c if (conn) { conn 2092 net/bluetooth/hci_event.c if (conn->state == BT_CONFIG) { conn 2093 net/bluetooth/hci_event.c hci_connect_cfm(conn, status); conn 2094 net/bluetooth/hci_event.c hci_conn_drop(conn); conn 2139 net/bluetooth/hci_event.c struct hci_conn *conn; conn 2152 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(cp->handle)); conn 2153 net/bluetooth/hci_event.c if (conn) { conn 2154 net/bluetooth/hci_event.c clear_bit(HCI_CONN_MODE_CHANGE_PEND, &conn->flags); conn 2156 net/bluetooth/hci_event.c if (test_and_clear_bit(HCI_CONN_SCO_SETUP_PEND, &conn->flags)) conn 2157 net/bluetooth/hci_event.c hci_sco_setup(conn, status); conn 2166 net/bluetooth/hci_event.c struct hci_conn *conn; conn 2179 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(cp->handle)); conn 2180 net/bluetooth/hci_event.c if (conn) { conn 2181 net/bluetooth/hci_event.c clear_bit(HCI_CONN_MODE_CHANGE_PEND, &conn->flags); conn 2183 net/bluetooth/hci_event.c if (test_and_clear_bit(HCI_CONN_SCO_SETUP_PEND, &conn->flags)) conn 2184 net/bluetooth/hci_event.c hci_sco_setup(conn, status); conn 2193 net/bluetooth/hci_event.c struct hci_conn *conn; conn 2204 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(cp->handle)); conn 2205 net/bluetooth/hci_event.c if (conn) conn 2206 net/bluetooth/hci_event.c mgmt_disconnect_failed(hdev, &conn->dst, conn->type, conn 2207 net/bluetooth/hci_event.c conn->dst_type, status); conn 2216 net/bluetooth/hci_event.c struct hci_conn *conn; conn 2218 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_le(hdev, peer_addr, conn 2220 net/bluetooth/hci_event.c if (!conn) conn 2227 net/bluetooth/hci_event.c conn->init_addr_type = own_address_type; conn 2229 net/bluetooth/hci_event.c bacpy(&conn->init_addr, &hdev->random_addr); conn 2231 net/bluetooth/hci_event.c bacpy(&conn->init_addr, &hdev->bdaddr); conn 2233 net/bluetooth/hci_event.c conn->resp_addr_type = peer_addr_type; conn 2234 net/bluetooth/hci_event.c bacpy(&conn->resp_addr, peer_addr); conn 2242 net/bluetooth/hci_event.c queue_delayed_work(conn->hdev->workqueue, conn 2243 net/bluetooth/hci_event.c &conn->le_conn_timeout, conn 2244 net/bluetooth/hci_event.c conn->conn_timeout); conn 2300 net/bluetooth/hci_event.c struct hci_conn *conn; conn 2313 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(cp->handle)); conn 2314 net/bluetooth/hci_event.c if (conn) { conn 2315 net/bluetooth/hci_event.c if (conn->state == BT_CONFIG) { conn 2316 net/bluetooth/hci_event.c hci_connect_cfm(conn, status); conn 2317 net/bluetooth/hci_event.c hci_conn_drop(conn); conn 2327 net/bluetooth/hci_event.c struct hci_conn *conn; conn 2340 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(cp->handle)); conn 2341 net/bluetooth/hci_event.c if (!conn) conn 2344 net/bluetooth/hci_event.c if (conn->state != BT_CONNECTED) conn 2347 net/bluetooth/hci_event.c hci_disconnect(conn, HCI_ERROR_AUTH_FAILURE); conn 2348 net/bluetooth/hci_event.c hci_conn_drop(conn); conn 2357 net/bluetooth/hci_event.c struct hci_conn *conn; conn 2370 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &cp->bdaddr); conn 2371 net/bluetooth/hci_event.c if (conn) conn 2372 net/bluetooth/hci_event.c clear_bit(HCI_CONN_RSWITCH_PEND, &conn->flags); conn 2477 net/bluetooth/hci_event.c struct hci_conn *conn; conn 2483 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_ba(hdev, ev->link_type, &ev->bdaddr); conn 2484 net/bluetooth/hci_event.c if (!conn) { conn 2488 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_ba(hdev, ESCO_LINK, &ev->bdaddr); conn 2489 net/bluetooth/hci_event.c if (!conn) conn 2492 net/bluetooth/hci_event.c conn->type = SCO_LINK; conn 2496 net/bluetooth/hci_event.c conn->handle = __le16_to_cpu(ev->handle); conn 2498 net/bluetooth/hci_event.c if (conn->type == ACL_LINK) { conn 2499 net/bluetooth/hci_event.c conn->state = BT_CONFIG; conn 2500 net/bluetooth/hci_event.c hci_conn_hold(conn); conn 2502 net/bluetooth/hci_event.c if (!conn->out && !hci_conn_ssp_enabled(conn) && conn 2504 net/bluetooth/hci_event.c conn->disc_timeout = HCI_PAIRING_TIMEOUT; conn 2506 net/bluetooth/hci_event.c conn->disc_timeout = HCI_DISCONN_TIMEOUT; conn 2508 net/bluetooth/hci_event.c conn->state = BT_CONNECTED; conn 2510 net/bluetooth/hci_event.c hci_debugfs_create_conn(conn); conn 2511 net/bluetooth/hci_event.c hci_conn_add_sysfs(conn); conn 2514 net/bluetooth/hci_event.c set_bit(HCI_CONN_AUTH, &conn->flags); conn 2517 net/bluetooth/hci_event.c set_bit(HCI_CONN_ENCRYPT, &conn->flags); conn 2520 net/bluetooth/hci_event.c if (conn->type == ACL_LINK) { conn 2530 net/bluetooth/hci_event.c if (!conn->out && hdev->hci_ver < BLUETOOTH_VER_2_0) { conn 2533 net/bluetooth/hci_event.c cp.pkt_type = cpu_to_le16(conn->pkt_type); conn 2538 net/bluetooth/hci_event.c conn->state = BT_CLOSED; conn 2539 net/bluetooth/hci_event.c if (conn->type == ACL_LINK) conn 2540 net/bluetooth/hci_event.c mgmt_connect_failed(hdev, &conn->dst, conn->type, conn 2541 net/bluetooth/hci_event.c conn->dst_type, ev->status); conn 2544 net/bluetooth/hci_event.c if (conn->type == ACL_LINK) conn 2545 net/bluetooth/hci_event.c hci_sco_setup(conn, ev->status); conn 2548 net/bluetooth/hci_event.c hci_connect_cfm(conn, ev->status); conn 2549 net/bluetooth/hci_event.c hci_conn_del(conn); conn 2551 net/bluetooth/hci_event.c hci_connect_cfm(conn, ev->status); conn 2573 net/bluetooth/hci_event.c struct hci_conn *conn; conn 2613 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_ba(hdev, ev->link_type, conn 2615 net/bluetooth/hci_event.c if (!conn) { conn 2616 net/bluetooth/hci_event.c conn = hci_conn_add(hdev, ev->link_type, &ev->bdaddr, conn 2618 net/bluetooth/hci_event.c if (!conn) { conn 2625 net/bluetooth/hci_event.c memcpy(conn->dev_class, ev->dev_class, 3); conn 2632 net/bluetooth/hci_event.c conn->state = BT_CONNECT; conn 2644 net/bluetooth/hci_event.c conn->state = BT_CONNECT; conn 2647 net/bluetooth/hci_event.c cp.pkt_type = cpu_to_le16(conn->pkt_type); conn 2658 net/bluetooth/hci_event.c conn->state = BT_CONNECT2; conn 2659 net/bluetooth/hci_event.c hci_connect_cfm(conn, 0); conn 2684 net/bluetooth/hci_event.c struct hci_conn *conn; conn 2692 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle)); conn 2693 net/bluetooth/hci_event.c if (!conn) conn 2697 net/bluetooth/hci_event.c mgmt_disconnect_failed(hdev, &conn->dst, conn->type, conn 2698 net/bluetooth/hci_event.c conn->dst_type, ev->status); conn 2702 net/bluetooth/hci_event.c conn->state = BT_CLOSED; conn 2704 net/bluetooth/hci_event.c mgmt_connected = test_and_clear_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags); conn 2706 net/bluetooth/hci_event.c if (test_bit(HCI_CONN_AUTH_FAILURE, &conn->flags)) conn 2711 net/bluetooth/hci_event.c mgmt_device_disconnected(hdev, &conn->dst, conn->type, conn->dst_type, conn 2714 net/bluetooth/hci_event.c if (conn->type == ACL_LINK) { conn 2715 net/bluetooth/hci_event.c if (test_bit(HCI_CONN_FLUSH_KEY, &conn->flags)) conn 2716 net/bluetooth/hci_event.c hci_remove_link_key(hdev, &conn->dst); conn 2721 net/bluetooth/hci_event.c params = hci_conn_params_lookup(hdev, &conn->dst, conn->dst_type); conn 2741 net/bluetooth/hci_event.c type = conn->type; conn 2743 net/bluetooth/hci_event.c hci_disconn_cfm(conn, ev->reason); conn 2744 net/bluetooth/hci_event.c hci_conn_del(conn); conn 2766 net/bluetooth/hci_event.c struct hci_conn *conn; conn 2772 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle)); conn 2773 net/bluetooth/hci_event.c if (!conn) conn 2777 net/bluetooth/hci_event.c clear_bit(HCI_CONN_AUTH_FAILURE, &conn->flags); conn 2779 net/bluetooth/hci_event.c if (!hci_conn_ssp_enabled(conn) && conn 2780 net/bluetooth/hci_event.c test_bit(HCI_CONN_REAUTH_PEND, &conn->flags)) { conn 2783 net/bluetooth/hci_event.c set_bit(HCI_CONN_AUTH, &conn->flags); conn 2784 net/bluetooth/hci_event.c conn->sec_level = conn->pending_sec_level; conn 2788 net/bluetooth/hci_event.c set_bit(HCI_CONN_AUTH_FAILURE, &conn->flags); conn 2790 net/bluetooth/hci_event.c mgmt_auth_failed(conn, ev->status); conn 2793 net/bluetooth/hci_event.c clear_bit(HCI_CONN_AUTH_PEND, &conn->flags); conn 2794 net/bluetooth/hci_event.c clear_bit(HCI_CONN_REAUTH_PEND, &conn->flags); conn 2796 net/bluetooth/hci_event.c if (conn->state == BT_CONFIG) { conn 2797 net/bluetooth/hci_event.c if (!ev->status && hci_conn_ssp_enabled(conn)) { conn 2804 net/bluetooth/hci_event.c conn->state = BT_CONNECTED; conn 2805 net/bluetooth/hci_event.c hci_connect_cfm(conn, ev->status); conn 2806 net/bluetooth/hci_event.c hci_conn_drop(conn); conn 2809 net/bluetooth/hci_event.c hci_auth_cfm(conn, ev->status); conn 2811 net/bluetooth/hci_event.c hci_conn_hold(conn); conn 2812 net/bluetooth/hci_event.c conn->disc_timeout = HCI_DISCONN_TIMEOUT; conn 2813 net/bluetooth/hci_event.c hci_conn_drop(conn); conn 2816 net/bluetooth/hci_event.c if (test_bit(HCI_CONN_ENCRYPT_PEND, &conn->flags)) { conn 2824 net/bluetooth/hci_event.c clear_bit(HCI_CONN_ENCRYPT_PEND, &conn->flags); conn 2825 net/bluetooth/hci_event.c hci_encrypt_cfm(conn, ev->status, 0x00); conn 2836 net/bluetooth/hci_event.c struct hci_conn *conn; conn 2844 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr); conn 2850 net/bluetooth/hci_event.c hci_check_pending_name(hdev, conn, &ev->bdaddr, ev->name, conn 2853 net/bluetooth/hci_event.c hci_check_pending_name(hdev, conn, &ev->bdaddr, NULL, 0); conn 2856 net/bluetooth/hci_event.c if (!conn) conn 2859 net/bluetooth/hci_event.c if (!hci_outgoing_auth_needed(hdev, conn)) conn 2862 net/bluetooth/hci_event.c if (!test_and_set_bit(HCI_CONN_AUTH_PEND, &conn->flags)) { conn 2865 net/bluetooth/hci_event.c set_bit(HCI_CONN_AUTH_INITIATOR, &conn->flags); conn 2867 net/bluetooth/hci_event.c cp.handle = __cpu_to_le16(conn->handle); conn 2879 net/bluetooth/hci_event.c struct hci_conn *conn; conn 2894 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, handle); conn 2895 net/bluetooth/hci_event.c if (!conn) conn 2905 net/bluetooth/hci_event.c conn->enc_key_size = HCI_LINK_KEY_SIZE; conn 2907 net/bluetooth/hci_event.c conn->enc_key_size = rp->key_size; conn 2910 net/bluetooth/hci_event.c if (conn->state == BT_CONFIG) { conn 2911 net/bluetooth/hci_event.c conn->state = BT_CONNECTED; conn 2912 net/bluetooth/hci_event.c hci_connect_cfm(conn, 0); conn 2913 net/bluetooth/hci_event.c hci_conn_drop(conn); conn 2917 net/bluetooth/hci_event.c if (!test_bit(HCI_CONN_ENCRYPT, &conn->flags)) conn 2919 net/bluetooth/hci_event.c else if (test_bit(HCI_CONN_AES_CCM, &conn->flags)) conn 2924 net/bluetooth/hci_event.c hci_encrypt_cfm(conn, 0, encrypt); conn 2934 net/bluetooth/hci_event.c struct hci_conn *conn; conn 2940 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle)); conn 2941 net/bluetooth/hci_event.c if (!conn) conn 2947 net/bluetooth/hci_event.c set_bit(HCI_CONN_AUTH, &conn->flags); conn 2948 net/bluetooth/hci_event.c set_bit(HCI_CONN_ENCRYPT, &conn->flags); conn 2949 net/bluetooth/hci_event.c conn->sec_level = conn->pending_sec_level; conn 2952 net/bluetooth/hci_event.c if (conn->key_type == HCI_LK_AUTH_COMBINATION_P256) conn 2953 net/bluetooth/hci_event.c set_bit(HCI_CONN_FIPS, &conn->flags); conn 2955 net/bluetooth/hci_event.c if ((conn->type == ACL_LINK && ev->encrypt == 0x02) || conn 2956 net/bluetooth/hci_event.c conn->type == LE_LINK) conn 2957 net/bluetooth/hci_event.c set_bit(HCI_CONN_AES_CCM, &conn->flags); conn 2959 net/bluetooth/hci_event.c clear_bit(HCI_CONN_ENCRYPT, &conn->flags); conn 2960 net/bluetooth/hci_event.c clear_bit(HCI_CONN_AES_CCM, &conn->flags); conn 2967 net/bluetooth/hci_event.c if (ev->status && conn->type == LE_LINK) { conn 2972 net/bluetooth/hci_event.c clear_bit(HCI_CONN_ENCRYPT_PEND, &conn->flags); conn 2974 net/bluetooth/hci_event.c if (ev->status && conn->state == BT_CONNECTED) { conn 2976 net/bluetooth/hci_event.c set_bit(HCI_CONN_AUTH_FAILURE, &conn->flags); conn 2978 net/bluetooth/hci_event.c hci_disconnect(conn, HCI_ERROR_AUTH_FAILURE); conn 2979 net/bluetooth/hci_event.c hci_conn_drop(conn); conn 2988 net/bluetooth/hci_event.c (!test_bit(HCI_CONN_AES_CCM, &conn->flags) || conn 2989 net/bluetooth/hci_event.c conn->key_type != HCI_LK_AUTH_COMBINATION_P256)) { conn 2990 net/bluetooth/hci_event.c hci_connect_cfm(conn, HCI_ERROR_AUTH_FAILURE); conn 2991 net/bluetooth/hci_event.c hci_conn_drop(conn); conn 2996 net/bluetooth/hci_event.c if (!ev->status && ev->encrypt && conn->type == ACL_LINK) { conn 3005 net/bluetooth/hci_event.c conn->enc_key_size = HCI_LINK_KEY_SIZE; conn 3011 net/bluetooth/hci_event.c cp.handle = cpu_to_le16(conn->handle); conn 3016 net/bluetooth/hci_event.c conn->enc_key_size = HCI_LINK_KEY_SIZE; conn 3030 net/bluetooth/hci_event.c if (test_bit(HCI_CONN_ENCRYPT, &conn->flags) && conn 3031 net/bluetooth/hci_event.c test_bit(HCI_CONN_AES_CCM, &conn->flags) && conn 3032 net/bluetooth/hci_event.c ((conn->type == ACL_LINK && lmp_ping_capable(hdev)) || conn 3033 net/bluetooth/hci_event.c (conn->type == LE_LINK && (hdev->le_features[0] & HCI_LE_PING)))) { conn 3036 net/bluetooth/hci_event.c cp.handle = cpu_to_le16(conn->handle); conn 3038 net/bluetooth/hci_event.c hci_send_cmd(conn->hdev, HCI_OP_WRITE_AUTH_PAYLOAD_TO, conn 3043 net/bluetooth/hci_event.c if (conn->state == BT_CONFIG) { conn 3045 net/bluetooth/hci_event.c conn->state = BT_CONNECTED; conn 3047 net/bluetooth/hci_event.c hci_connect_cfm(conn, ev->status); conn 3048 net/bluetooth/hci_event.c hci_conn_drop(conn); conn 3050 net/bluetooth/hci_event.c hci_encrypt_cfm(conn, ev->status, ev->encrypt); conn 3060 net/bluetooth/hci_event.c struct hci_conn *conn; conn 3066 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle)); conn 3067 net/bluetooth/hci_event.c if (conn) { conn 3069 net/bluetooth/hci_event.c set_bit(HCI_CONN_SECURE, &conn->flags); conn 3071 net/bluetooth/hci_event.c clear_bit(HCI_CONN_AUTH_PEND, &conn->flags); conn 3073 net/bluetooth/hci_event.c hci_key_change_cfm(conn, ev->status); conn 3083 net/bluetooth/hci_event.c struct hci_conn *conn; conn 3089 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle)); conn 3090 net/bluetooth/hci_event.c if (!conn) conn 3094 net/bluetooth/hci_event.c memcpy(conn->features[0], ev->features, 8); conn 3096 net/bluetooth/hci_event.c if (conn->state != BT_CONFIG) conn 3100 net/bluetooth/hci_event.c lmp_ext_feat_capable(conn)) { conn 3109 net/bluetooth/hci_event.c if (!ev->status && !test_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags)) { conn 3112 net/bluetooth/hci_event.c bacpy(&cp.bdaddr, &conn->dst); conn 3115 net/bluetooth/hci_event.c } else if (!test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags)) conn 3116 net/bluetooth/hci_event.c mgmt_device_connected(hdev, conn, 0, NULL, 0); conn 3118 net/bluetooth/hci_event.c if (!hci_outgoing_auth_needed(hdev, conn)) { conn 3119 net/bluetooth/hci_event.c conn->state = BT_CONNECTED; conn 3120 net/bluetooth/hci_event.c hci_connect_cfm(conn, ev->status); conn 3121 net/bluetooth/hci_event.c hci_conn_drop(conn); conn 3614 net/bluetooth/hci_event.c struct hci_conn *conn; conn 3620 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr); conn 3621 net/bluetooth/hci_event.c if (conn) { conn 3623 net/bluetooth/hci_event.c conn->role = ev->role; conn 3625 net/bluetooth/hci_event.c clear_bit(HCI_CONN_RSWITCH_PEND, &conn->flags); conn 3627 net/bluetooth/hci_event.c hci_role_switch_cfm(conn, ev->status, ev->role); conn 3653 net/bluetooth/hci_event.c struct hci_conn *conn; conn 3659 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, handle); conn 3660 net/bluetooth/hci_event.c if (!conn) conn 3663 net/bluetooth/hci_event.c conn->sent -= count; conn 3665 net/bluetooth/hci_event.c switch (conn->type) { conn 3692 net/bluetooth/hci_event.c conn->type, conn); conn 3711 net/bluetooth/hci_event.c return chan->conn; conn 3742 net/bluetooth/hci_event.c struct hci_conn *conn = NULL; conn 3748 net/bluetooth/hci_event.c conn = __hci_conn_lookup_handle(hdev, handle); conn 3749 net/bluetooth/hci_event.c if (!conn) conn 3752 net/bluetooth/hci_event.c conn->sent -= block_count; conn 3754 net/bluetooth/hci_event.c switch (conn->type) { conn 3764 net/bluetooth/hci_event.c conn->type, conn); conn 3775 net/bluetooth/hci_event.c struct hci_conn *conn; conn 3781 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle)); conn 3782 net/bluetooth/hci_event.c if (conn) { conn 3783 net/bluetooth/hci_event.c conn->mode = ev->mode; conn 3786 net/bluetooth/hci_event.c &conn->flags)) { conn 3787 net/bluetooth/hci_event.c if (conn->mode == HCI_CM_ACTIVE) conn 3788 net/bluetooth/hci_event.c set_bit(HCI_CONN_POWER_SAVE, &conn->flags); conn 3790 net/bluetooth/hci_event.c clear_bit(HCI_CONN_POWER_SAVE, &conn->flags); conn 3793 net/bluetooth/hci_event.c if (test_and_clear_bit(HCI_CONN_SCO_SETUP_PEND, &conn->flags)) conn 3794 net/bluetooth/hci_event.c hci_sco_setup(conn, ev->status); conn 3803 net/bluetooth/hci_event.c struct hci_conn *conn; conn 3809 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr); conn 3810 net/bluetooth/hci_event.c if (!conn) conn 3813 net/bluetooth/hci_event.c if (conn->state == BT_CONNECTED) { conn 3814 net/bluetooth/hci_event.c hci_conn_hold(conn); conn 3815 net/bluetooth/hci_event.c conn->disc_timeout = HCI_PAIRING_TIMEOUT; conn 3816 net/bluetooth/hci_event.c hci_conn_drop(conn); conn 3820 net/bluetooth/hci_event.c !test_bit(HCI_CONN_AUTH_INITIATOR, &conn->flags)) { conn 3826 net/bluetooth/hci_event.c if (conn->pending_sec_level == BT_SECURITY_HIGH) conn 3838 net/bluetooth/hci_event.c static void conn_set_key(struct hci_conn *conn, u8 key_type, u8 pin_len) conn 3843 net/bluetooth/hci_event.c conn->pin_length = pin_len; conn 3844 net/bluetooth/hci_event.c conn->key_type = key_type; conn 3853 net/bluetooth/hci_event.c conn->pending_sec_level = BT_SECURITY_HIGH; conn 3855 net/bluetooth/hci_event.c conn->pending_sec_level = BT_SECURITY_MEDIUM; conn 3859 net/bluetooth/hci_event.c conn->pending_sec_level = BT_SECURITY_MEDIUM; conn 3862 net/bluetooth/hci_event.c conn->pending_sec_level = BT_SECURITY_HIGH; conn 3865 net/bluetooth/hci_event.c conn->pending_sec_level = BT_SECURITY_FIPS; conn 3874 net/bluetooth/hci_event.c struct hci_conn *conn; conn 3894 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr); conn 3895 net/bluetooth/hci_event.c if (conn) { conn 3896 net/bluetooth/hci_event.c clear_bit(HCI_CONN_NEW_LINK_KEY, &conn->flags); conn 3900 net/bluetooth/hci_event.c conn->auth_type != 0xff && (conn->auth_type & 0x01)) { conn 3906 net/bluetooth/hci_event.c (conn->pending_sec_level == BT_SECURITY_HIGH || conn 3907 net/bluetooth/hci_event.c conn->pending_sec_level == BT_SECURITY_FIPS)) { conn 3913 net/bluetooth/hci_event.c conn_set_key(conn, key->type, key->pin_len); conn 3933 net/bluetooth/hci_event.c struct hci_conn *conn; conn 3942 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr); conn 3943 net/bluetooth/hci_event.c if (!conn) conn 3946 net/bluetooth/hci_event.c hci_conn_hold(conn); conn 3947 net/bluetooth/hci_event.c conn->disc_timeout = HCI_DISCONN_TIMEOUT; conn 3948 net/bluetooth/hci_event.c hci_conn_drop(conn); conn 3950 net/bluetooth/hci_event.c set_bit(HCI_CONN_NEW_LINK_KEY, &conn->flags); conn 3951 net/bluetooth/hci_event.c conn_set_key(conn, ev->key_type, conn->pin_length); conn 3956 net/bluetooth/hci_event.c key = hci_add_link_key(hdev, conn, &ev->bdaddr, ev->link_key, conn 3965 net/bluetooth/hci_event.c conn_set_key(conn, key->type, key->pin_len); conn 3982 net/bluetooth/hci_event.c clear_bit(HCI_CONN_FLUSH_KEY, &conn->flags); conn 3984 net/bluetooth/hci_event.c set_bit(HCI_CONN_FLUSH_KEY, &conn->flags); conn 3993 net/bluetooth/hci_event.c struct hci_conn *conn; conn 3999 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle)); conn 4000 net/bluetooth/hci_event.c if (conn && !ev->status) { conn 4003 net/bluetooth/hci_event.c ie = hci_inquiry_cache_lookup(hdev, &conn->dst); conn 4016 net/bluetooth/hci_event.c struct hci_conn *conn; conn 4022 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle)); conn 4023 net/bluetooth/hci_event.c if (conn && !ev->status) conn 4024 net/bluetooth/hci_event.c conn->pkt_type = __le16_to_cpu(ev->pkt_type); conn 4115 net/bluetooth/hci_event.c struct hci_conn *conn; conn 4121 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle)); conn 4122 net/bluetooth/hci_event.c if (!conn) conn 4126 net/bluetooth/hci_event.c memcpy(conn->features[ev->page], ev->features, 8); conn 4131 net/bluetooth/hci_event.c ie = hci_inquiry_cache_lookup(hdev, &conn->dst); conn 4136 net/bluetooth/hci_event.c set_bit(HCI_CONN_SSP_ENABLED, &conn->flags); conn 4146 net/bluetooth/hci_event.c clear_bit(HCI_CONN_SSP_ENABLED, &conn->flags); conn 4150 net/bluetooth/hci_event.c set_bit(HCI_CONN_SC_ENABLED, &conn->flags); conn 4153 net/bluetooth/hci_event.c if (conn->state != BT_CONFIG) conn 4156 net/bluetooth/hci_event.c if (!ev->status && !test_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags)) { conn 4159 net/bluetooth/hci_event.c bacpy(&cp.bdaddr, &conn->dst); conn 4162 net/bluetooth/hci_event.c } else if (!test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags)) conn 4163 net/bluetooth/hci_event.c mgmt_device_connected(hdev, conn, 0, NULL, 0); conn 4165 net/bluetooth/hci_event.c if (!hci_outgoing_auth_needed(hdev, conn)) { conn 4166 net/bluetooth/hci_event.c conn->state = BT_CONNECTED; conn 4167 net/bluetooth/hci_event.c hci_connect_cfm(conn, ev->status); conn 4168 net/bluetooth/hci_event.c hci_conn_drop(conn); conn 4179 net/bluetooth/hci_event.c struct hci_conn *conn; conn 4185 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_ba(hdev, ev->link_type, &ev->bdaddr); conn 4186 net/bluetooth/hci_event.c if (!conn) { conn 4199 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_ba(hdev, ESCO_LINK, &ev->bdaddr); conn 4200 net/bluetooth/hci_event.c if (!conn) conn 4206 net/bluetooth/hci_event.c conn->handle = __le16_to_cpu(ev->handle); conn 4207 net/bluetooth/hci_event.c conn->state = BT_CONNECTED; conn 4208 net/bluetooth/hci_event.c conn->type = ev->link_type; conn 4210 net/bluetooth/hci_event.c hci_debugfs_create_conn(conn); conn 4211 net/bluetooth/hci_event.c hci_conn_add_sysfs(conn); conn 4221 net/bluetooth/hci_event.c if (conn->out) { conn 4222 net/bluetooth/hci_event.c conn->pkt_type = (hdev->esco_type & SCO_ESCO_MASK) | conn 4224 net/bluetooth/hci_event.c if (hci_setup_sync(conn, conn->link->handle)) conn 4230 net/bluetooth/hci_event.c conn->state = BT_CLOSED; conn 4234 net/bluetooth/hci_event.c hci_connect_cfm(conn, ev->status); conn 4236 net/bluetooth/hci_event.c hci_conn_del(conn); conn 4313 net/bluetooth/hci_event.c struct hci_conn *conn; conn 4320 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle)); conn 4321 net/bluetooth/hci_event.c if (!conn) conn 4327 net/bluetooth/hci_event.c if (conn->type != LE_LINK) conn 4331 net/bluetooth/hci_event.c conn->sec_level = conn->pending_sec_level; conn 4333 net/bluetooth/hci_event.c clear_bit(HCI_CONN_ENCRYPT_PEND, &conn->flags); conn 4335 net/bluetooth/hci_event.c if (ev->status && conn->state == BT_CONNECTED) { conn 4336 net/bluetooth/hci_event.c hci_disconnect(conn, HCI_ERROR_AUTH_FAILURE); conn 4337 net/bluetooth/hci_event.c hci_conn_drop(conn); conn 4341 net/bluetooth/hci_event.c if (conn->state == BT_CONFIG) { conn 4343 net/bluetooth/hci_event.c conn->state = BT_CONNECTED; conn 4345 net/bluetooth/hci_event.c hci_connect_cfm(conn, ev->status); conn 4346 net/bluetooth/hci_event.c hci_conn_drop(conn); conn 4348 net/bluetooth/hci_event.c hci_auth_cfm(conn, ev->status); conn 4350 net/bluetooth/hci_event.c hci_conn_hold(conn); conn 4351 net/bluetooth/hci_event.c conn->disc_timeout = HCI_DISCONN_TIMEOUT; conn 4352 net/bluetooth/hci_event.c hci_conn_drop(conn); conn 4359 net/bluetooth/hci_event.c static u8 hci_get_auth_req(struct hci_conn *conn) conn 4362 net/bluetooth/hci_event.c if (conn->remote_auth == HCI_AT_NO_BONDING || conn 4363 net/bluetooth/hci_event.c conn->remote_auth == HCI_AT_NO_BONDING_MITM) conn 4364 net/bluetooth/hci_event.c return conn->remote_auth | (conn->auth_type & 0x01); conn 4369 net/bluetooth/hci_event.c if (conn->remote_cap != HCI_IO_NO_INPUT_OUTPUT && conn 4370 net/bluetooth/hci_event.c conn->io_capability != HCI_IO_NO_INPUT_OUTPUT) conn 4371 net/bluetooth/hci_event.c return conn->remote_auth | 0x01; conn 4374 net/bluetooth/hci_event.c return (conn->remote_auth & ~0x01) | (conn->auth_type & 0x01); conn 4377 net/bluetooth/hci_event.c static u8 bredr_oob_data_present(struct hci_conn *conn) conn 4379 net/bluetooth/hci_event.c struct hci_dev *hdev = conn->hdev; conn 4382 net/bluetooth/hci_event.c data = hci_find_remote_oob_data(hdev, &conn->dst, BDADDR_BREDR); conn 4422 net/bluetooth/hci_event.c struct hci_conn *conn; conn 4428 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr); conn 4429 net/bluetooth/hci_event.c if (!conn) conn 4432 net/bluetooth/hci_event.c hci_conn_hold(conn); conn 4441 net/bluetooth/hci_event.c test_bit(HCI_CONN_AUTH_INITIATOR, &conn->flags) || conn 4442 net/bluetooth/hci_event.c (conn->remote_auth & ~0x01) == HCI_AT_NO_BONDING) { conn 4448 net/bluetooth/hci_event.c cp.capability = (conn->io_capability == 0x04) ? conn 4449 net/bluetooth/hci_event.c HCI_IO_DISPLAY_YESNO : conn->io_capability; conn 4452 net/bluetooth/hci_event.c if (conn->remote_auth == 0xff) { conn 4456 net/bluetooth/hci_event.c if (conn->io_capability != HCI_IO_NO_INPUT_OUTPUT && conn 4457 net/bluetooth/hci_event.c conn->auth_type != HCI_AT_NO_BONDING) conn 4458 net/bluetooth/hci_event.c conn->auth_type |= 0x01; conn 4460 net/bluetooth/hci_event.c conn->auth_type = hci_get_auth_req(conn); conn 4467 net/bluetooth/hci_event.c conn->auth_type &= HCI_AT_NO_BONDING_MITM; conn 4469 net/bluetooth/hci_event.c cp.authentication = conn->auth_type; conn 4470 net/bluetooth/hci_event.c cp.oob_data = bredr_oob_data_present(conn); conn 4491 net/bluetooth/hci_event.c struct hci_conn *conn; conn 4497 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr); conn 4498 net/bluetooth/hci_event.c if (!conn) conn 4501 net/bluetooth/hci_event.c conn->remote_cap = ev->capability; conn 4502 net/bluetooth/hci_event.c conn->remote_auth = ev->authentication; conn 4513 net/bluetooth/hci_event.c struct hci_conn *conn; conn 4522 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr); conn 4523 net/bluetooth/hci_event.c if (!conn) conn 4526 net/bluetooth/hci_event.c loc_mitm = (conn->auth_type & 0x01); conn 4527 net/bluetooth/hci_event.c rem_mitm = (conn->remote_auth & 0x01); conn 4534 net/bluetooth/hci_event.c if (conn->pending_sec_level > BT_SECURITY_MEDIUM && conn 4535 net/bluetooth/hci_event.c conn->remote_cap == HCI_IO_NO_INPUT_OUTPUT) { conn 4543 net/bluetooth/hci_event.c if ((!loc_mitm || conn->remote_cap == HCI_IO_NO_INPUT_OUTPUT) && conn 4544 net/bluetooth/hci_event.c (!rem_mitm || conn->io_capability == HCI_IO_NO_INPUT_OUTPUT)) { conn 4552 net/bluetooth/hci_event.c if (!test_bit(HCI_CONN_AUTH_PEND, &conn->flags) && conn 4553 net/bluetooth/hci_event.c conn->io_capability != HCI_IO_NO_INPUT_OUTPUT && conn 4565 net/bluetooth/hci_event.c queue_delayed_work(conn->hdev->workqueue, conn 4566 net/bluetooth/hci_event.c &conn->auto_accept_work, delay); conn 4598 net/bluetooth/hci_event.c struct hci_conn *conn; conn 4602 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr); conn 4603 net/bluetooth/hci_event.c if (!conn) conn 4606 net/bluetooth/hci_event.c conn->passkey_notify = __le32_to_cpu(ev->passkey); conn 4607 net/bluetooth/hci_event.c conn->passkey_entered = 0; conn 4610 net/bluetooth/hci_event.c mgmt_user_passkey_notify(hdev, &conn->dst, conn->type, conn 4611 net/bluetooth/hci_event.c conn->dst_type, conn->passkey_notify, conn 4612 net/bluetooth/hci_event.c conn->passkey_entered); conn 4618 net/bluetooth/hci_event.c struct hci_conn *conn; conn 4622 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr); conn 4623 net/bluetooth/hci_event.c if (!conn) conn 4628 net/bluetooth/hci_event.c conn->passkey_entered = 0; conn 4632 net/bluetooth/hci_event.c conn->passkey_entered++; conn 4636 net/bluetooth/hci_event.c conn->passkey_entered--; conn 4640 net/bluetooth/hci_event.c conn->passkey_entered = 0; conn 4648 net/bluetooth/hci_event.c mgmt_user_passkey_notify(hdev, &conn->dst, conn->type, conn 4649 net/bluetooth/hci_event.c conn->dst_type, conn->passkey_notify, conn 4650 net/bluetooth/hci_event.c conn->passkey_entered); conn 4657 net/bluetooth/hci_event.c struct hci_conn *conn; conn 4663 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr); conn 4664 net/bluetooth/hci_event.c if (!conn) conn 4668 net/bluetooth/hci_event.c conn->remote_auth = 0xff; conn 4675 net/bluetooth/hci_event.c if (!test_bit(HCI_CONN_AUTH_PEND, &conn->flags) && ev->status) conn 4676 net/bluetooth/hci_event.c mgmt_auth_failed(conn, ev->status); conn 4678 net/bluetooth/hci_event.c hci_conn_drop(conn); conn 4689 net/bluetooth/hci_event.c struct hci_conn *conn; conn 4695 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr); conn 4696 net/bluetooth/hci_event.c if (conn) conn 4697 net/bluetooth/hci_event.c memcpy(conn->features[1], ev->features, 8); conn 4847 net/bluetooth/hci_event.c bredr_chan->conn->mtu = hdev->block_mtu; conn 4907 net/bluetooth/hci_event.c struct hci_conn *conn; conn 4918 net/bluetooth/hci_event.c conn = hci_lookup_le_connect(hdev); conn 4919 net/bluetooth/hci_event.c if (!conn) { conn 4920 net/bluetooth/hci_event.c conn = hci_conn_add(hdev, LE_LINK, bdaddr, role); conn 4921 net/bluetooth/hci_event.c if (!conn) { conn 4926 net/bluetooth/hci_event.c conn->dst_type = bdaddr_type; conn 4936 net/bluetooth/hci_event.c if (conn->out) { conn 4937 net/bluetooth/hci_event.c conn->resp_addr_type = bdaddr_type; conn 4938 net/bluetooth/hci_event.c bacpy(&conn->resp_addr, bdaddr); conn 4940 net/bluetooth/hci_event.c conn->init_addr_type = ADDR_LE_DEV_RANDOM; conn 4941 net/bluetooth/hci_event.c bacpy(&conn->init_addr, &hdev->rpa); conn 4944 net/bluetooth/hci_event.c &conn->init_addr, conn 4945 net/bluetooth/hci_event.c &conn->init_addr_type); conn 4949 net/bluetooth/hci_event.c cancel_delayed_work(&conn->le_conn_timeout); conn 4952 net/bluetooth/hci_event.c if (!conn->out) { conn 4956 net/bluetooth/hci_event.c conn->resp_addr_type = hdev->adv_addr_type; conn 4962 net/bluetooth/hci_event.c bacpy(&conn->resp_addr, &hdev->random_addr); conn 4964 net/bluetooth/hci_event.c bacpy(&conn->resp_addr, &hdev->bdaddr); conn 4967 net/bluetooth/hci_event.c conn->init_addr_type = bdaddr_type; conn 4968 net/bluetooth/hci_event.c bacpy(&conn->init_addr, bdaddr); conn 4975 net/bluetooth/hci_event.c conn->le_conn_min_interval = hdev->le_conn_min_interval; conn 4976 net/bluetooth/hci_event.c conn->le_conn_max_interval = hdev->le_conn_max_interval; conn 4988 net/bluetooth/hci_event.c irk = hci_get_irk(hdev, &conn->dst, conn->dst_type); conn 4990 net/bluetooth/hci_event.c bacpy(&conn->dst, &irk->bdaddr); conn 4991 net/bluetooth/hci_event.c conn->dst_type = irk->addr_type; conn 4995 net/bluetooth/hci_event.c hci_le_conn_failed(conn, status); conn 4999 net/bluetooth/hci_event.c if (conn->dst_type == ADDR_LE_DEV_PUBLIC) conn 5005 net/bluetooth/hci_event.c if (hci_bdaddr_list_lookup(&hdev->blacklist, &conn->dst, addr_type)) { conn 5006 net/bluetooth/hci_event.c hci_conn_drop(conn); conn 5010 net/bluetooth/hci_event.c if (!test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags)) conn 5011 net/bluetooth/hci_event.c mgmt_device_connected(hdev, conn, 0, NULL, 0); conn 5013 net/bluetooth/hci_event.c conn->sec_level = BT_SECURITY_LOW; conn 5014 net/bluetooth/hci_event.c conn->handle = handle; conn 5015 net/bluetooth/hci_event.c conn->state = BT_CONFIG; conn 5017 net/bluetooth/hci_event.c conn->le_conn_interval = interval; conn 5018 net/bluetooth/hci_event.c conn->le_conn_latency = latency; conn 5019 net/bluetooth/hci_event.c conn->le_supv_timeout = supervision_timeout; conn 5021 net/bluetooth/hci_event.c hci_debugfs_create_conn(conn); conn 5022 net/bluetooth/hci_event.c hci_conn_add_sysfs(conn); conn 5033 net/bluetooth/hci_event.c if (conn->out || conn 5037 net/bluetooth/hci_event.c cp.handle = __cpu_to_le16(conn->handle); conn 5042 net/bluetooth/hci_event.c hci_conn_hold(conn); conn 5044 net/bluetooth/hci_event.c conn->state = BT_CONNECTED; conn 5045 net/bluetooth/hci_event.c hci_connect_cfm(conn, status); conn 5048 net/bluetooth/hci_event.c params = hci_pend_le_action_lookup(&hdev->pend_le_conns, &conn->dst, conn 5049 net/bluetooth/hci_event.c conn->dst_type); conn 5052 net/bluetooth/hci_event.c if (params->conn) { conn 5053 net/bluetooth/hci_event.c hci_conn_drop(params->conn); conn 5054 net/bluetooth/hci_event.c hci_conn_put(params->conn); conn 5055 net/bluetooth/hci_event.c params->conn = NULL; conn 5094 net/bluetooth/hci_event.c struct hci_conn *conn; conn 5101 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->conn_handle)); conn 5102 net/bluetooth/hci_event.c if (conn) { conn 5109 net/bluetooth/hci_event.c bacpy(&conn->resp_addr, &hdev->random_addr); conn 5115 net/bluetooth/hci_event.c bacpy(&conn->resp_addr, &adv_instance->random_addr); conn 5123 net/bluetooth/hci_event.c struct hci_conn *conn; conn 5132 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle)); conn 5133 net/bluetooth/hci_event.c if (conn) { conn 5134 net/bluetooth/hci_event.c conn->le_conn_interval = le16_to_cpu(ev->interval); conn 5135 net/bluetooth/hci_event.c conn->le_conn_latency = le16_to_cpu(ev->latency); conn 5136 net/bluetooth/hci_event.c conn->le_supv_timeout = le16_to_cpu(ev->supervision_timeout); conn 5148 net/bluetooth/hci_event.c struct hci_conn *conn; conn 5196 net/bluetooth/hci_event.c conn = hci_connect_le(hdev, addr, addr_type, BT_SECURITY_LOW, conn 5199 net/bluetooth/hci_event.c if (!IS_ERR(conn)) { conn 5210 net/bluetooth/hci_event.c params->conn = hci_conn_get(conn); conn 5212 net/bluetooth/hci_event.c return conn; conn 5215 net/bluetooth/hci_event.c switch (PTR_ERR(conn)) { conn 5224 net/bluetooth/hci_event.c BT_DBG("Failed to connect: err %ld", PTR_ERR(conn)); conn 5237 net/bluetooth/hci_event.c struct hci_conn *conn; conn 5312 net/bluetooth/hci_event.c conn = check_pending_le_conn(hdev, bdaddr, bdaddr_type, type, conn 5314 net/bluetooth/hci_event.c if (conn && type == LE_ADV_IND) { conn 5318 net/bluetooth/hci_event.c memcpy(conn->le_adv_data, data, len); conn 5319 net/bluetooth/hci_event.c conn->le_adv_data_len = len; conn 5530 net/bluetooth/hci_event.c struct hci_conn *conn; conn 5536 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle)); conn 5537 net/bluetooth/hci_event.c if (conn) { conn 5539 net/bluetooth/hci_event.c memcpy(conn->features[0], ev->features, 8); conn 5541 net/bluetooth/hci_event.c if (conn->state == BT_CONFIG) { conn 5554 net/bluetooth/hci_event.c !conn->out && ev->status == 0x1a) conn 5559 net/bluetooth/hci_event.c conn->state = BT_CONNECTED; conn 5560 net/bluetooth/hci_event.c hci_connect_cfm(conn, status); conn 5561 net/bluetooth/hci_event.c hci_conn_drop(conn); conn 5573 net/bluetooth/hci_event.c struct hci_conn *conn; conn 5580 net/bluetooth/hci_event.c conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle)); conn 5581 net/bluetooth/hci_event.c if (conn == NULL) conn 5584 net/bluetooth/hci_event.c ltk = hci_find_ltk(hdev, &conn->dst, conn->dst_type, conn->role); conn 5600 net/bluetooth/hci_event.c cp.handle = cpu_to_le16(conn->handle); conn 5602 net/bluetooth/hci_event.c conn->pending_sec_level = smp_ltk_sec_level(ltk); conn 5604 net/bluetooth/hci_event.c conn->enc_key_size = ltk->enc_size; conn 5615 net/bluetooth/hci_event.c set_bit(HCI_CONN_STK_ENCRYPT, &conn->flags); conn 5619 net/bluetooth/hci_event.c clear_bit(HCI_CONN_STK_ENCRYPT, &conn->flags); conn 1991 net/bluetooth/hci_request.c struct hci_conn *conn; conn 1993 net/bluetooth/hci_request.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &b->bdaddr); conn 1994 net/bluetooth/hci_request.c if (!conn) conn 1997 net/bluetooth/hci_request.c if (conn->state != BT_CONNECTED && conn->state != BT_CONFIG) conn 2203 net/bluetooth/hci_request.c void __hci_abort_conn(struct hci_request *req, struct hci_conn *conn, conn 2206 net/bluetooth/hci_request.c switch (conn->state) { conn 2209 net/bluetooth/hci_request.c if (conn->type == AMP_LINK) { conn 2212 net/bluetooth/hci_request.c cp.phy_handle = HCI_PHY_HANDLE(conn->handle); conn 2219 net/bluetooth/hci_request.c dc.handle = cpu_to_le16(conn->handle); conn 2224 net/bluetooth/hci_request.c conn->state = BT_DISCONN; conn 2228 net/bluetooth/hci_request.c if (conn->type == LE_LINK) { conn 2229 net/bluetooth/hci_request.c if (test_bit(HCI_CONN_SCANNING, &conn->flags)) conn 2233 net/bluetooth/hci_request.c } else if (conn->type == ACL_LINK) { conn 2237 net/bluetooth/hci_request.c 6, &conn->dst); conn 2241 net/bluetooth/hci_request.c if (conn->type == ACL_LINK) { conn 2244 net/bluetooth/hci_request.c bacpy(&rej.bdaddr, &conn->dst); conn 2249 net/bluetooth/hci_request.c } else if (conn->type == SCO_LINK || conn->type == ESCO_LINK) { conn 2252 net/bluetooth/hci_request.c bacpy(&rej.bdaddr, &conn->dst); conn 2267 net/bluetooth/hci_request.c conn->state = BT_CLOSED; conn 2278 net/bluetooth/hci_request.c int hci_abort_conn(struct hci_conn *conn, u8 reason) conn 2283 net/bluetooth/hci_request.c hci_req_init(&req, conn->hdev); conn 2285 net/bluetooth/hci_request.c __hci_abort_conn(&req, conn, reason); conn 2289 net/bluetooth/hci_request.c bt_dev_err(conn->hdev, "failed to run HCI request: err %d", err); conn 2308 net/bluetooth/hci_request.c struct hci_conn *conn; conn 2318 net/bluetooth/hci_request.c conn = hci_conn_hash_lookup_state(hdev, LE_LINK, BT_CONNECT); conn 2319 net/bluetooth/hci_request.c if (conn) conn 2320 net/bluetooth/hci_request.c hci_le_conn_failed(conn, status); conn 107 net/bluetooth/hci_request.h int hci_abort_conn(struct hci_conn *conn, u8 reason); conn 108 net/bluetooth/hci_request.h void __hci_abort_conn(struct hci_request *req, struct hci_conn *conn, conn 13 net/bluetooth/hci_sysfs.c struct hci_conn *conn = to_hci_conn(dev); conn 14 net/bluetooth/hci_sysfs.c kfree(conn); conn 32 net/bluetooth/hci_sysfs.c void hci_conn_init_sysfs(struct hci_conn *conn) conn 34 net/bluetooth/hci_sysfs.c struct hci_dev *hdev = conn->hdev; conn 36 net/bluetooth/hci_sysfs.c BT_DBG("conn %p", conn); conn 38 net/bluetooth/hci_sysfs.c conn->dev.type = &bt_link; conn 39 net/bluetooth/hci_sysfs.c conn->dev.class = bt_class; conn 40 net/bluetooth/hci_sysfs.c conn->dev.parent = &hdev->dev; conn 42 net/bluetooth/hci_sysfs.c device_initialize(&conn->dev); conn 45 net/bluetooth/hci_sysfs.c void hci_conn_add_sysfs(struct hci_conn *conn) conn 47 net/bluetooth/hci_sysfs.c struct hci_dev *hdev = conn->hdev; conn 49 net/bluetooth/hci_sysfs.c BT_DBG("conn %p", conn); conn 51 net/bluetooth/hci_sysfs.c dev_set_name(&conn->dev, "%s:%d", hdev->name, conn->handle); conn 53 net/bluetooth/hci_sysfs.c if (device_add(&conn->dev) < 0) { conn 61 net/bluetooth/hci_sysfs.c void hci_conn_del_sysfs(struct hci_conn *conn) conn 63 net/bluetooth/hci_sysfs.c struct hci_dev *hdev = conn->hdev; conn 65 net/bluetooth/hci_sysfs.c if (!device_is_registered(&conn->dev)) conn 71 net/bluetooth/hci_sysfs.c dev = device_find_child(&conn->dev, NULL, __match_tty); conn 78 net/bluetooth/hci_sysfs.c device_del(&conn->dev); conn 65 net/bluetooth/hidp/core.c static int hidp_session_probe(struct l2cap_conn *conn, conn 67 net/bluetooth/hidp/core.c static void hidp_session_remove(struct l2cap_conn *conn, conn 703 net/bluetooth/hidp/core.c input->dev.parent = &session->conn->hcon->dev; conn 794 net/bluetooth/hidp/core.c hid->dev.parent = &session->conn->hcon->dev; conn 915 net/bluetooth/hidp/core.c struct l2cap_conn *conn) conn 936 net/bluetooth/hidp/core.c session->conn = l2cap_conn_get(conn); conn 968 net/bluetooth/hidp/core.c l2cap_conn_put(session->conn); conn 990 net/bluetooth/hidp/core.c l2cap_conn_put(session->conn); conn 1098 net/bluetooth/hidp/core.c static int hidp_session_probe(struct l2cap_conn *conn, conn 1159 net/bluetooth/hidp/core.c static void hidp_session_remove(struct l2cap_conn *conn, conn 1305 net/bluetooth/hidp/core.c l2cap_unregister_user(session->conn, &session->user); conn 1353 net/bluetooth/hidp/core.c struct l2cap_conn *conn; conn 1365 net/bluetooth/hidp/core.c conn = NULL; conn 1367 net/bluetooth/hidp/core.c if (chan->conn) conn 1368 net/bluetooth/hidp/core.c conn = l2cap_conn_get(chan->conn); conn 1371 net/bluetooth/hidp/core.c if (!conn) conn 1375 net/bluetooth/hidp/core.c intr_sock, req, conn); conn 1379 net/bluetooth/hidp/core.c ret = l2cap_register_user(conn, &session->user); conn 1388 net/bluetooth/hidp/core.c l2cap_conn_put(conn); conn 1410 net/bluetooth/hidp/core.c l2cap_unregister_user(session->conn, &session->user); conn 150 net/bluetooth/hidp/hidp.h struct l2cap_conn *conn; conn 54 net/bluetooth/l2cap_core.c static struct sk_buff *l2cap_build_cmd(struct l2cap_conn *conn, conn 56 net/bluetooth/l2cap_core.c static void l2cap_send_cmd(struct l2cap_conn *conn, u8 ident, u8 code, u16 len, conn 88 net/bluetooth/l2cap_core.c static struct l2cap_chan *__l2cap_get_chan_by_dcid(struct l2cap_conn *conn, conn 93 net/bluetooth/l2cap_core.c list_for_each_entry(c, &conn->chan_l, list) { conn 100 net/bluetooth/l2cap_core.c static struct l2cap_chan *__l2cap_get_chan_by_scid(struct l2cap_conn *conn, conn 105 net/bluetooth/l2cap_core.c list_for_each_entry(c, &conn->chan_l, list) { conn 114 net/bluetooth/l2cap_core.c static struct l2cap_chan *l2cap_get_chan_by_scid(struct l2cap_conn *conn, conn 119 net/bluetooth/l2cap_core.c mutex_lock(&conn->chan_lock); conn 120 net/bluetooth/l2cap_core.c c = __l2cap_get_chan_by_scid(conn, cid); conn 123 net/bluetooth/l2cap_core.c mutex_unlock(&conn->chan_lock); conn 131 net/bluetooth/l2cap_core.c static struct l2cap_chan *l2cap_get_chan_by_dcid(struct l2cap_conn *conn, conn 136 net/bluetooth/l2cap_core.c mutex_lock(&conn->chan_lock); conn 137 net/bluetooth/l2cap_core.c c = __l2cap_get_chan_by_dcid(conn, cid); conn 140 net/bluetooth/l2cap_core.c mutex_unlock(&conn->chan_lock); conn 145 net/bluetooth/l2cap_core.c static struct l2cap_chan *__l2cap_get_chan_by_ident(struct l2cap_conn *conn, conn 150 net/bluetooth/l2cap_core.c list_for_each_entry(c, &conn->chan_l, list) { conn 157 net/bluetooth/l2cap_core.c static struct l2cap_chan *l2cap_get_chan_by_ident(struct l2cap_conn *conn, conn 162 net/bluetooth/l2cap_core.c mutex_lock(&conn->chan_lock); conn 163 net/bluetooth/l2cap_core.c c = __l2cap_get_chan_by_ident(conn, ident); conn 166 net/bluetooth/l2cap_core.c mutex_unlock(&conn->chan_lock); conn 249 net/bluetooth/l2cap_core.c static u16 l2cap_alloc_cid(struct l2cap_conn *conn) conn 253 net/bluetooth/l2cap_core.c if (conn->hcon->type == LE_LINK) conn 259 net/bluetooth/l2cap_core.c if (!__l2cap_get_chan_by_scid(conn, cid)) conn 416 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = chan->conn; conn 421 net/bluetooth/l2cap_core.c mutex_lock(&conn->chan_lock); conn 437 net/bluetooth/l2cap_core.c mutex_unlock(&conn->chan_lock); conn 528 net/bluetooth/l2cap_core.c chan->mps = min_t(u16, chan->imtu, chan->conn->mtu - L2CAP_HDR_SIZE); conn 535 net/bluetooth/l2cap_core.c void __l2cap_chan_add(struct l2cap_conn *conn, struct l2cap_chan *chan) conn 537 net/bluetooth/l2cap_core.c BT_DBG("conn %p, psm 0x%2.2x, dcid 0x%4.4x", conn, conn 540 net/bluetooth/l2cap_core.c conn->disc_reason = HCI_ERROR_REMOTE_USER_TERM; conn 542 net/bluetooth/l2cap_core.c chan->conn = conn; conn 547 net/bluetooth/l2cap_core.c chan->scid = l2cap_alloc_cid(conn); conn 548 net/bluetooth/l2cap_core.c if (conn->hcon->type == ACL_LINK) conn 582 net/bluetooth/l2cap_core.c hci_conn_hold(conn->hcon); conn 584 net/bluetooth/l2cap_core.c list_add(&chan->list, &conn->chan_l); conn 587 net/bluetooth/l2cap_core.c void l2cap_chan_add(struct l2cap_conn *conn, struct l2cap_chan *chan) conn 589 net/bluetooth/l2cap_core.c mutex_lock(&conn->chan_lock); conn 590 net/bluetooth/l2cap_core.c __l2cap_chan_add(conn, chan); conn 591 net/bluetooth/l2cap_core.c mutex_unlock(&conn->chan_lock); conn 596 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = chan->conn; conn 600 net/bluetooth/l2cap_core.c BT_DBG("chan %p, conn %p, err %d, state %s", chan, conn, err, conn 605 net/bluetooth/l2cap_core.c if (conn) { conn 606 net/bluetooth/l2cap_core.c struct amp_mgr *mgr = conn->hcon->amp_mgr; conn 612 net/bluetooth/l2cap_core.c chan->conn = NULL; conn 620 net/bluetooth/l2cap_core.c hci_conn_drop(conn->hcon); conn 667 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = container_of(work, struct l2cap_conn, conn 669 net/bluetooth/l2cap_core.c struct hci_conn *hcon = conn->hcon; conn 672 net/bluetooth/l2cap_core.c mutex_lock(&conn->chan_lock); conn 674 net/bluetooth/l2cap_core.c list_for_each_entry(chan, &conn->chan_l, list) { conn 681 net/bluetooth/l2cap_core.c mutex_unlock(&conn->chan_lock); conn 686 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = chan->conn; conn 703 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, chan->ident, L2CAP_LE_CONN_RSP, sizeof(rsp), conn 709 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = chan->conn; conn 725 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, chan->ident, L2CAP_CONN_RSP, sizeof(rsp), &rsp); conn 730 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = chan->conn; conn 750 net/bluetooth/l2cap_core.c if (conn->hcon->type == ACL_LINK) conn 752 net/bluetooth/l2cap_core.c else if (conn->hcon->type == LE_LINK) conn 825 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = chan->conn; conn 828 net/bluetooth/l2cap_core.c if (conn->hcon->type == LE_LINK) conn 829 net/bluetooth/l2cap_core.c return smp_conn_security(conn->hcon, chan->sec_level); conn 833 net/bluetooth/l2cap_core.c return hci_conn_security(conn->hcon, chan->sec_level, auth_type, conn 837 net/bluetooth/l2cap_core.c static u8 l2cap_get_ident(struct l2cap_conn *conn) conn 847 net/bluetooth/l2cap_core.c mutex_lock(&conn->ident_lock); conn 849 net/bluetooth/l2cap_core.c if (++conn->tx_ident > 128) conn 850 net/bluetooth/l2cap_core.c conn->tx_ident = 1; conn 852 net/bluetooth/l2cap_core.c id = conn->tx_ident; conn 854 net/bluetooth/l2cap_core.c mutex_unlock(&conn->ident_lock); conn 859 net/bluetooth/l2cap_core.c static void l2cap_send_cmd(struct l2cap_conn *conn, u8 ident, u8 code, u16 len, conn 862 net/bluetooth/l2cap_core.c struct sk_buff *skb = l2cap_build_cmd(conn, code, ident, len, data); conn 872 net/bluetooth/l2cap_core.c if (lmp_no_flush_capable(conn->hcon->hdev) || conn 873 net/bluetooth/l2cap_core.c conn->hcon->type == LE_LINK) conn 881 net/bluetooth/l2cap_core.c hci_send_acl(conn->hchan, skb, flags); conn 892 net/bluetooth/l2cap_core.c struct hci_conn *hcon = chan->conn->hcon; conn 919 net/bluetooth/l2cap_core.c hci_send_acl(chan->conn->hchan, skb, flags); conn 1146 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = chan->conn; conn 1150 net/bluetooth/l2cap_core.c if (!(conn->local_fixed_chan & L2CAP_FC_A2MP)) conn 1153 net/bluetooth/l2cap_core.c if (!(conn->remote_fixed_chan & L2CAP_FC_A2MP)) conn 1180 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = chan->conn; conn 1186 net/bluetooth/l2cap_core.c chan->ident = l2cap_get_ident(conn); conn 1190 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, chan->ident, L2CAP_CONN_REQ, sizeof(req), &req); conn 1200 net/bluetooth/l2cap_core.c chan->ident = l2cap_get_ident(chan->conn); conn 1202 net/bluetooth/l2cap_core.c l2cap_send_cmd(chan->conn, chan->ident, L2CAP_CREATE_CHAN_REQ, conn 1286 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = chan->conn; conn 1300 net/bluetooth/l2cap_core.c chan->ident = l2cap_get_ident(conn); conn 1302 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, chan->ident, L2CAP_LE_CONN_REQ, conn 1308 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = chan->conn; conn 1310 net/bluetooth/l2cap_core.c if (!smp_conn_security(conn->hcon, chan->sec_level)) conn 1327 net/bluetooth/l2cap_core.c } else if (chan->conn->hcon->type == LE_LINK) { conn 1334 net/bluetooth/l2cap_core.c static void l2cap_request_info(struct l2cap_conn *conn) conn 1338 net/bluetooth/l2cap_core.c if (conn->info_state & L2CAP_INFO_FEAT_MASK_REQ_SENT) conn 1343 net/bluetooth/l2cap_core.c conn->info_state |= L2CAP_INFO_FEAT_MASK_REQ_SENT; conn 1344 net/bluetooth/l2cap_core.c conn->info_ident = l2cap_get_ident(conn); conn 1346 net/bluetooth/l2cap_core.c schedule_delayed_work(&conn->info_timer, L2CAP_INFO_TIMEOUT); conn 1348 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, conn->info_ident, L2CAP_INFO_REQ, conn 1369 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = chan->conn; conn 1371 net/bluetooth/l2cap_core.c if (conn->hcon->type == LE_LINK) { conn 1376 net/bluetooth/l2cap_core.c if (!(conn->info_state & L2CAP_INFO_FEAT_MASK_REQ_SENT)) { conn 1377 net/bluetooth/l2cap_core.c l2cap_request_info(conn); conn 1381 net/bluetooth/l2cap_core.c if (!(conn->info_state & L2CAP_INFO_FEAT_MASK_REQ_DONE)) conn 1388 net/bluetooth/l2cap_core.c if (l2cap_check_enc_key_size(conn->hcon)) conn 1412 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = chan->conn; conn 1415 net/bluetooth/l2cap_core.c if (!conn) conn 1431 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, l2cap_get_ident(conn), L2CAP_DISCONN_REQ, conn 1438 net/bluetooth/l2cap_core.c static void l2cap_conn_start(struct l2cap_conn *conn) conn 1442 net/bluetooth/l2cap_core.c BT_DBG("conn %p", conn); conn 1444 net/bluetooth/l2cap_core.c mutex_lock(&conn->chan_lock); conn 1446 net/bluetooth/l2cap_core.c list_for_each_entry_safe(chan, tmp, &conn->chan_l, list) { conn 1462 net/bluetooth/l2cap_core.c if (!l2cap_mode_supported(chan->mode, conn->feat_mask) conn 1470 net/bluetooth/l2cap_core.c if (l2cap_check_enc_key_size(conn->hcon)) conn 1497 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, chan->ident, L2CAP_CONN_RSP, conn 1507 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, l2cap_get_ident(conn), L2CAP_CONF_REQ, conn 1515 net/bluetooth/l2cap_core.c mutex_unlock(&conn->chan_lock); conn 1518 net/bluetooth/l2cap_core.c static void l2cap_le_conn_ready(struct l2cap_conn *conn) conn 1520 net/bluetooth/l2cap_core.c struct hci_conn *hcon = conn->hcon; conn 1523 net/bluetooth/l2cap_core.c BT_DBG("%s conn %p", hdev->name, conn); conn 1546 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, l2cap_get_ident(conn), conn 1551 net/bluetooth/l2cap_core.c static void l2cap_conn_ready(struct l2cap_conn *conn) conn 1554 net/bluetooth/l2cap_core.c struct hci_conn *hcon = conn->hcon; conn 1556 net/bluetooth/l2cap_core.c BT_DBG("conn %p", conn); conn 1559 net/bluetooth/l2cap_core.c l2cap_request_info(conn); conn 1561 net/bluetooth/l2cap_core.c mutex_lock(&conn->chan_lock); conn 1563 net/bluetooth/l2cap_core.c list_for_each_entry(chan, &conn->chan_l, list) { conn 1575 net/bluetooth/l2cap_core.c if (conn->info_state & L2CAP_INFO_FEAT_MASK_REQ_DONE) conn 1584 net/bluetooth/l2cap_core.c mutex_unlock(&conn->chan_lock); conn 1587 net/bluetooth/l2cap_core.c l2cap_le_conn_ready(conn); conn 1589 net/bluetooth/l2cap_core.c queue_work(hcon->hdev->workqueue, &conn->pending_rx_work); conn 1593 net/bluetooth/l2cap_core.c static void l2cap_conn_unreliable(struct l2cap_conn *conn, int err) conn 1597 net/bluetooth/l2cap_core.c BT_DBG("conn %p", conn); conn 1599 net/bluetooth/l2cap_core.c mutex_lock(&conn->chan_lock); conn 1601 net/bluetooth/l2cap_core.c list_for_each_entry(chan, &conn->chan_l, list) { conn 1606 net/bluetooth/l2cap_core.c mutex_unlock(&conn->chan_lock); conn 1611 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = container_of(work, struct l2cap_conn, conn 1614 net/bluetooth/l2cap_core.c conn->info_state |= L2CAP_INFO_FEAT_MASK_REQ_DONE; conn 1615 net/bluetooth/l2cap_core.c conn->info_ident = 0; conn 1617 net/bluetooth/l2cap_core.c l2cap_conn_start(conn); conn 1633 net/bluetooth/l2cap_core.c int l2cap_register_user(struct l2cap_conn *conn, struct l2cap_user *user) conn 1635 net/bluetooth/l2cap_core.c struct hci_dev *hdev = conn->hcon->hdev; conn 1653 net/bluetooth/l2cap_core.c if (!conn->hchan) { conn 1658 net/bluetooth/l2cap_core.c ret = user->probe(conn, user); conn 1662 net/bluetooth/l2cap_core.c list_add(&user->list, &conn->users); conn 1671 net/bluetooth/l2cap_core.c void l2cap_unregister_user(struct l2cap_conn *conn, struct l2cap_user *user) conn 1673 net/bluetooth/l2cap_core.c struct hci_dev *hdev = conn->hcon->hdev; conn 1681 net/bluetooth/l2cap_core.c user->remove(conn, user); conn 1688 net/bluetooth/l2cap_core.c static void l2cap_unregister_all_users(struct l2cap_conn *conn) conn 1692 net/bluetooth/l2cap_core.c while (!list_empty(&conn->users)) { conn 1693 net/bluetooth/l2cap_core.c user = list_first_entry(&conn->users, struct l2cap_user, list); conn 1695 net/bluetooth/l2cap_core.c user->remove(conn, user); conn 1701 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = hcon->l2cap_data; conn 1704 net/bluetooth/l2cap_core.c if (!conn) conn 1707 net/bluetooth/l2cap_core.c BT_DBG("hcon %p conn %p, err %d", hcon, conn, err); conn 1709 net/bluetooth/l2cap_core.c kfree_skb(conn->rx_skb); conn 1711 net/bluetooth/l2cap_core.c skb_queue_purge(&conn->pending_rx); conn 1717 net/bluetooth/l2cap_core.c if (work_pending(&conn->pending_rx_work)) conn 1718 net/bluetooth/l2cap_core.c cancel_work_sync(&conn->pending_rx_work); conn 1720 net/bluetooth/l2cap_core.c if (work_pending(&conn->id_addr_update_work)) conn 1721 net/bluetooth/l2cap_core.c cancel_work_sync(&conn->id_addr_update_work); conn 1723 net/bluetooth/l2cap_core.c l2cap_unregister_all_users(conn); conn 1728 net/bluetooth/l2cap_core.c mutex_lock(&conn->chan_lock); conn 1731 net/bluetooth/l2cap_core.c list_for_each_entry_safe(chan, l, &conn->chan_l, list) { conn 1743 net/bluetooth/l2cap_core.c mutex_unlock(&conn->chan_lock); conn 1745 net/bluetooth/l2cap_core.c hci_chan_del(conn->hchan); conn 1747 net/bluetooth/l2cap_core.c if (conn->info_state & L2CAP_INFO_FEAT_MASK_REQ_SENT) conn 1748 net/bluetooth/l2cap_core.c cancel_delayed_work_sync(&conn->info_timer); conn 1751 net/bluetooth/l2cap_core.c conn->hchan = NULL; conn 1752 net/bluetooth/l2cap_core.c l2cap_conn_put(conn); conn 1757 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = container_of(ref, struct l2cap_conn, ref); conn 1759 net/bluetooth/l2cap_core.c hci_conn_put(conn->hcon); conn 1760 net/bluetooth/l2cap_core.c kfree(conn); conn 1763 net/bluetooth/l2cap_core.c struct l2cap_conn *l2cap_conn_get(struct l2cap_conn *conn) conn 1765 net/bluetooth/l2cap_core.c kref_get(&conn->ref); conn 1766 net/bluetooth/l2cap_core.c return conn; conn 1770 net/bluetooth/l2cap_core.c void l2cap_conn_put(struct l2cap_conn *conn) conn 1772 net/bluetooth/l2cap_core.c kref_put(&conn->ref, l2cap_conn_free); conn 1839 net/bluetooth/l2cap_core.c if (!chan->conn) { conn 1860 net/bluetooth/l2cap_core.c if (!chan->conn) { conn 2158 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = chan->conn; conn 2173 net/bluetooth/l2cap_core.c count = min_t(unsigned int, conn->mtu, len); conn 2201 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = chan->conn; conn 2209 net/bluetooth/l2cap_core.c count = min_t(unsigned int, (conn->mtu - hlen), len); conn 2233 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = chan->conn; conn 2240 net/bluetooth/l2cap_core.c count = min_t(unsigned int, (conn->mtu - L2CAP_HDR_SIZE), len); conn 2264 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = chan->conn; conn 2271 net/bluetooth/l2cap_core.c if (!conn) conn 2282 net/bluetooth/l2cap_core.c count = min_t(unsigned int, (conn->mtu - hlen), len); conn 2331 net/bluetooth/l2cap_core.c pdu_len = chan->conn->mtu; conn 2385 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = chan->conn; conn 2392 net/bluetooth/l2cap_core.c if (!conn) conn 2400 net/bluetooth/l2cap_core.c count = min_t(unsigned int, (conn->mtu - hlen), len); conn 2482 net/bluetooth/l2cap_core.c if (!chan->conn) conn 2894 net/bluetooth/l2cap_core.c static void l2cap_raw_recv(struct l2cap_conn *conn, struct sk_buff *skb) conn 2899 net/bluetooth/l2cap_core.c BT_DBG("conn %p", conn); conn 2901 net/bluetooth/l2cap_core.c mutex_lock(&conn->chan_lock); conn 2903 net/bluetooth/l2cap_core.c list_for_each_entry(chan, &conn->chan_l, list) { conn 2918 net/bluetooth/l2cap_core.c mutex_unlock(&conn->chan_lock); conn 2922 net/bluetooth/l2cap_core.c static struct sk_buff *l2cap_build_cmd(struct l2cap_conn *conn, u8 code, conn 2931 net/bluetooth/l2cap_core.c conn, code, ident, dlen); conn 2933 net/bluetooth/l2cap_core.c if (conn->mtu < L2CAP_HDR_SIZE + L2CAP_CMD_HDR_SIZE) conn 2937 net/bluetooth/l2cap_core.c count = min_t(unsigned int, conn->mtu, len); conn 2946 net/bluetooth/l2cap_core.c if (conn->hcon->type == LE_LINK) conn 2967 net/bluetooth/l2cap_core.c count = min_t(unsigned int, conn->mtu, len); conn 3164 net/bluetooth/l2cap_core.c static inline bool __l2cap_ews_supported(struct l2cap_conn *conn) conn 3166 net/bluetooth/l2cap_core.c return ((conn->local_fixed_chan & L2CAP_FC_A2MP) && conn 3167 net/bluetooth/l2cap_core.c (conn->feat_mask & L2CAP_FEAT_EXT_WINDOW)); conn 3170 net/bluetooth/l2cap_core.c static inline bool __l2cap_efs_supported(struct l2cap_conn *conn) conn 3172 net/bluetooth/l2cap_core.c return ((conn->local_fixed_chan & L2CAP_FC_A2MP) && conn 3173 net/bluetooth/l2cap_core.c (conn->feat_mask & L2CAP_FEAT_EXT_FLOW)); conn 3217 net/bluetooth/l2cap_core.c __l2cap_ews_supported(chan->conn)) { conn 3248 net/bluetooth/l2cap_core.c if (__l2cap_efs_supported(chan->conn)) conn 3253 net/bluetooth/l2cap_core.c chan->mode = l2cap_select_mode(rfc.mode, chan->conn->feat_mask); conn 3266 net/bluetooth/l2cap_core.c if (!(chan->conn->feat_mask & L2CAP_FEAT_ERTM) && conn 3267 net/bluetooth/l2cap_core.c !(chan->conn->feat_mask & L2CAP_FEAT_STREAMING)) conn 3287 net/bluetooth/l2cap_core.c size = min_t(u16, L2CAP_DEFAULT_MAX_PDU_SIZE, chan->conn->mtu - conn 3307 net/bluetooth/l2cap_core.c if (chan->conn->feat_mask & L2CAP_FEAT_FCS) conn 3324 net/bluetooth/l2cap_core.c size = min_t(u16, L2CAP_DEFAULT_MAX_PDU_SIZE, chan->conn->mtu - conn 3335 net/bluetooth/l2cap_core.c if (chan->conn->feat_mask & L2CAP_FEAT_FCS) conn 3416 net/bluetooth/l2cap_core.c if (!(chan->conn->local_fixed_chan & L2CAP_FC_A2MP)) conn 3441 net/bluetooth/l2cap_core.c chan->conn->feat_mask); conn 3446 net/bluetooth/l2cap_core.c if (__l2cap_efs_supported(chan->conn)) conn 3517 net/bluetooth/l2cap_core.c chan->conn->mtu - L2CAP_EXT_HDR_SIZE - conn 3547 net/bluetooth/l2cap_core.c chan->conn->mtu - L2CAP_EXT_HDR_SIZE - conn 3712 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = chan->conn; conn 3722 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, chan->ident, L2CAP_LE_CONN_RSP, sizeof(rsp), conn 3729 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = chan->conn; conn 3745 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, chan->ident, rsp_code, sizeof(rsp), &rsp); conn 3750 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, l2cap_get_ident(conn), L2CAP_CONF_REQ, conn 3811 net/bluetooth/l2cap_core.c static inline int l2cap_command_rej(struct l2cap_conn *conn, conn 3823 net/bluetooth/l2cap_core.c if ((conn->info_state & L2CAP_INFO_FEAT_MASK_REQ_SENT) && conn 3824 net/bluetooth/l2cap_core.c cmd->ident == conn->info_ident) { conn 3825 net/bluetooth/l2cap_core.c cancel_delayed_work(&conn->info_timer); conn 3827 net/bluetooth/l2cap_core.c conn->info_state |= L2CAP_INFO_FEAT_MASK_REQ_DONE; conn 3828 net/bluetooth/l2cap_core.c conn->info_ident = 0; conn 3830 net/bluetooth/l2cap_core.c l2cap_conn_start(conn); conn 3836 net/bluetooth/l2cap_core.c static struct l2cap_chan *l2cap_connect(struct l2cap_conn *conn, conn 3851 net/bluetooth/l2cap_core.c pchan = l2cap_global_chan_by_psm(BT_LISTEN, psm, &conn->hcon->src, conn 3852 net/bluetooth/l2cap_core.c &conn->hcon->dst, ACL_LINK); conn 3858 net/bluetooth/l2cap_core.c mutex_lock(&conn->chan_lock); conn 3863 net/bluetooth/l2cap_core.c !hci_conn_check_link_mode(conn->hcon)) { conn 3864 net/bluetooth/l2cap_core.c conn->disc_reason = HCI_ERROR_AUTH_FAILURE; conn 3878 net/bluetooth/l2cap_core.c if (__l2cap_get_chan_by_dcid(conn, scid)) { conn 3892 net/bluetooth/l2cap_core.c conn->hcon->disc_timeout = HCI_DISCONN_TIMEOUT; conn 3894 net/bluetooth/l2cap_core.c bacpy(&chan->src, &conn->hcon->src); conn 3895 net/bluetooth/l2cap_core.c bacpy(&chan->dst, &conn->hcon->dst); conn 3896 net/bluetooth/l2cap_core.c chan->src_type = bdaddr_src_type(conn->hcon); conn 3897 net/bluetooth/l2cap_core.c chan->dst_type = bdaddr_dst_type(conn->hcon); conn 3902 net/bluetooth/l2cap_core.c __l2cap_chan_add(conn, chan); conn 3910 net/bluetooth/l2cap_core.c if (conn->info_state & L2CAP_INFO_FEAT_MASK_REQ_DONE) { conn 3944 net/bluetooth/l2cap_core.c mutex_unlock(&conn->chan_lock); conn 3952 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, cmd->ident, rsp_code, sizeof(rsp), &rsp); conn 3958 net/bluetooth/l2cap_core.c conn->info_state |= L2CAP_INFO_FEAT_MASK_REQ_SENT; conn 3959 net/bluetooth/l2cap_core.c conn->info_ident = l2cap_get_ident(conn); conn 3961 net/bluetooth/l2cap_core.c schedule_delayed_work(&conn->info_timer, L2CAP_INFO_TIMEOUT); conn 3963 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, conn->info_ident, L2CAP_INFO_REQ, conn 3971 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, l2cap_get_ident(conn), L2CAP_CONF_REQ, conn 3979 net/bluetooth/l2cap_core.c static int l2cap_connect_req(struct l2cap_conn *conn, conn 3982 net/bluetooth/l2cap_core.c struct hci_dev *hdev = conn->hcon->hdev; conn 3983 net/bluetooth/l2cap_core.c struct hci_conn *hcon = conn->hcon; conn 3994 net/bluetooth/l2cap_core.c l2cap_connect(conn, cmd, data, L2CAP_CONN_RSP, 0); conn 3998 net/bluetooth/l2cap_core.c static int l2cap_connect_create_rsp(struct l2cap_conn *conn, conn 4019 net/bluetooth/l2cap_core.c mutex_lock(&conn->chan_lock); conn 4022 net/bluetooth/l2cap_core.c chan = __l2cap_get_chan_by_scid(conn, scid); conn 4028 net/bluetooth/l2cap_core.c chan = __l2cap_get_chan_by_ident(conn, cmd->ident); conn 4049 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, l2cap_get_ident(conn), L2CAP_CONF_REQ, conn 4066 net/bluetooth/l2cap_core.c mutex_unlock(&conn->chan_lock); conn 4085 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = chan->conn; conn 4087 net/bluetooth/l2cap_core.c BT_DBG("conn %p chan %p ident %d flags 0x%4.4x", conn, chan, ident, conn 4093 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, ident, L2CAP_CONF_RSP, conn 4098 net/bluetooth/l2cap_core.c static void cmd_reject_invalid_cid(struct l2cap_conn *conn, u8 ident, conn 4107 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, ident, L2CAP_COMMAND_REJ, sizeof(rej), &rej); conn 4110 net/bluetooth/l2cap_core.c static inline int l2cap_config_req(struct l2cap_conn *conn, conn 4128 net/bluetooth/l2cap_core.c chan = l2cap_get_chan_by_scid(conn, dcid); conn 4130 net/bluetooth/l2cap_core.c cmd_reject_invalid_cid(conn, cmd->ident, dcid, 0); conn 4135 net/bluetooth/l2cap_core.c cmd_reject_invalid_cid(conn, cmd->ident, chan->scid, conn 4143 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, cmd->ident, L2CAP_CONF_RSP, conn 4155 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, cmd->ident, L2CAP_CONF_RSP, conn 4169 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, cmd->ident, L2CAP_CONF_RSP, len, rsp); conn 4195 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, l2cap_get_ident(conn), L2CAP_CONF_REQ, conn 4219 net/bluetooth/l2cap_core.c static inline int l2cap_config_rsp(struct l2cap_conn *conn, conn 4239 net/bluetooth/l2cap_core.c chan = l2cap_get_chan_by_scid(conn, scid); conn 4292 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, l2cap_get_ident(conn), conn 4332 net/bluetooth/l2cap_core.c static inline int l2cap_disconnect_req(struct l2cap_conn *conn, conn 4349 net/bluetooth/l2cap_core.c mutex_lock(&conn->chan_lock); conn 4351 net/bluetooth/l2cap_core.c chan = __l2cap_get_chan_by_scid(conn, dcid); conn 4353 net/bluetooth/l2cap_core.c mutex_unlock(&conn->chan_lock); conn 4354 net/bluetooth/l2cap_core.c cmd_reject_invalid_cid(conn, cmd->ident, dcid, scid); conn 4362 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, cmd->ident, L2CAP_DISCONN_RSP, sizeof(rsp), &rsp); conn 4374 net/bluetooth/l2cap_core.c mutex_unlock(&conn->chan_lock); conn 4379 net/bluetooth/l2cap_core.c static inline int l2cap_disconnect_rsp(struct l2cap_conn *conn, conn 4395 net/bluetooth/l2cap_core.c mutex_lock(&conn->chan_lock); conn 4397 net/bluetooth/l2cap_core.c chan = __l2cap_get_chan_by_scid(conn, scid); conn 4399 net/bluetooth/l2cap_core.c mutex_unlock(&conn->chan_lock); conn 4407 net/bluetooth/l2cap_core.c mutex_unlock(&conn->chan_lock); conn 4419 net/bluetooth/l2cap_core.c mutex_unlock(&conn->chan_lock); conn 4424 net/bluetooth/l2cap_core.c static inline int l2cap_information_req(struct l2cap_conn *conn, conn 4447 net/bluetooth/l2cap_core.c if (conn->local_fixed_chan & L2CAP_FC_A2MP) conn 4452 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, cmd->ident, L2CAP_INFO_RSP, sizeof(buf), conn 4460 net/bluetooth/l2cap_core.c rsp->data[0] = conn->local_fixed_chan; conn 4462 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, cmd->ident, L2CAP_INFO_RSP, sizeof(buf), conn 4468 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, cmd->ident, L2CAP_INFO_RSP, sizeof(rsp), conn 4475 net/bluetooth/l2cap_core.c static inline int l2cap_information_rsp(struct l2cap_conn *conn, conn 4491 net/bluetooth/l2cap_core.c if (cmd->ident != conn->info_ident || conn 4492 net/bluetooth/l2cap_core.c conn->info_state & L2CAP_INFO_FEAT_MASK_REQ_DONE) conn 4495 net/bluetooth/l2cap_core.c cancel_delayed_work(&conn->info_timer); conn 4498 net/bluetooth/l2cap_core.c conn->info_state |= L2CAP_INFO_FEAT_MASK_REQ_DONE; conn 4499 net/bluetooth/l2cap_core.c conn->info_ident = 0; conn 4501 net/bluetooth/l2cap_core.c l2cap_conn_start(conn); conn 4508 net/bluetooth/l2cap_core.c conn->feat_mask = get_unaligned_le32(rsp->data); conn 4510 net/bluetooth/l2cap_core.c if (conn->feat_mask & L2CAP_FEAT_FIXED_CHAN) { conn 4514 net/bluetooth/l2cap_core.c conn->info_ident = l2cap_get_ident(conn); conn 4516 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, conn->info_ident, conn 4519 net/bluetooth/l2cap_core.c conn->info_state |= L2CAP_INFO_FEAT_MASK_REQ_DONE; conn 4520 net/bluetooth/l2cap_core.c conn->info_ident = 0; conn 4522 net/bluetooth/l2cap_core.c l2cap_conn_start(conn); conn 4527 net/bluetooth/l2cap_core.c conn->remote_fixed_chan = rsp->data[0]; conn 4528 net/bluetooth/l2cap_core.c conn->info_state |= L2CAP_INFO_FEAT_MASK_REQ_DONE; conn 4529 net/bluetooth/l2cap_core.c conn->info_ident = 0; conn 4531 net/bluetooth/l2cap_core.c l2cap_conn_start(conn); conn 4538 net/bluetooth/l2cap_core.c static int l2cap_create_channel_req(struct l2cap_conn *conn, conn 4551 net/bluetooth/l2cap_core.c if (!(conn->local_fixed_chan & L2CAP_FC_A2MP)) conn 4561 net/bluetooth/l2cap_core.c l2cap_connect(conn, cmd, data, L2CAP_CREATE_CHAN_RSP, conn 4576 net/bluetooth/l2cap_core.c chan = l2cap_connect(conn, cmd, data, L2CAP_CREATE_CHAN_RSP, conn 4579 net/bluetooth/l2cap_core.c struct amp_mgr *mgr = conn->hcon->amp_mgr; conn 4583 net/bluetooth/l2cap_core.c &conn->hcon->dst); conn 4586 net/bluetooth/l2cap_core.c cmd_reject_invalid_cid(conn, cmd->ident, chan->scid, conn 4596 net/bluetooth/l2cap_core.c conn->mtu = hdev->block_mtu; conn 4609 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, cmd->ident, L2CAP_CREATE_CHAN_RSP, conn 4622 net/bluetooth/l2cap_core.c ident = l2cap_get_ident(chan->conn); conn 4628 net/bluetooth/l2cap_core.c l2cap_send_cmd(chan->conn, ident, L2CAP_MOVE_CHAN_REQ, sizeof(req), conn 4643 net/bluetooth/l2cap_core.c l2cap_send_cmd(chan->conn, chan->ident, L2CAP_MOVE_CHAN_RSP, conn 4653 net/bluetooth/l2cap_core.c chan->ident = l2cap_get_ident(chan->conn); conn 4658 net/bluetooth/l2cap_core.c l2cap_send_cmd(chan->conn, chan->ident, L2CAP_MOVE_CHAN_CFM, conn 4664 net/bluetooth/l2cap_core.c static void l2cap_send_move_chan_cfm_icid(struct l2cap_conn *conn, u16 icid) conn 4668 net/bluetooth/l2cap_core.c BT_DBG("conn %p, icid 0x%4.4x", conn, icid); conn 4673 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, l2cap_get_ident(conn), L2CAP_MOVE_CHAN_CFM, conn 4677 net/bluetooth/l2cap_core.c static void l2cap_send_move_chan_cfm_rsp(struct l2cap_conn *conn, u8 ident, conn 4685 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, ident, L2CAP_MOVE_CHAN_CFM_RSP, sizeof(rsp), &rsp); conn 4733 net/bluetooth/l2cap_core.c chan->hs_hcon->l2cap_data = chan->conn; conn 4753 net/bluetooth/l2cap_core.c chan->hs_hcon = hchan->conn; conn 4754 net/bluetooth/l2cap_core.c chan->hs_hcon->l2cap_data = chan->conn; conn 4862 net/bluetooth/l2cap_core.c l2cap_send_cmd(chan->conn, chan->ident, L2CAP_CREATE_CHAN_RSP, conn 4868 net/bluetooth/l2cap_core.c l2cap_send_cmd(chan->conn, l2cap_get_ident(chan->conn), conn 4895 net/bluetooth/l2cap_core.c chan->hs_hcon = hchan->conn; conn 4896 net/bluetooth/l2cap_core.c chan->hs_hcon->l2cap_data = chan->conn; conn 4962 net/bluetooth/l2cap_core.c static inline int l2cap_move_channel_req(struct l2cap_conn *conn, conn 4979 net/bluetooth/l2cap_core.c if (!(conn->local_fixed_chan & L2CAP_FC_A2MP)) conn 4982 net/bluetooth/l2cap_core.c chan = l2cap_get_chan_by_dcid(conn, icid); conn 4986 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, cmd->ident, L2CAP_MOVE_CHAN_RSP, conn 5026 net/bluetooth/l2cap_core.c bacmp(&conn->hcon->src, &conn->hcon->dst) > 0) { conn 5060 net/bluetooth/l2cap_core.c static void l2cap_move_continue(struct l2cap_conn *conn, u16 icid, u16 result) conn 5065 net/bluetooth/l2cap_core.c chan = l2cap_get_chan_by_scid(conn, icid); conn 5067 net/bluetooth/l2cap_core.c l2cap_send_move_chan_cfm_icid(conn, icid); conn 5125 net/bluetooth/l2cap_core.c chan->hs_hcon = hchan->conn; conn 5126 net/bluetooth/l2cap_core.c chan->hs_hcon->l2cap_data = chan->conn; conn 5150 net/bluetooth/l2cap_core.c static void l2cap_move_fail(struct l2cap_conn *conn, u8 ident, u16 icid, conn 5155 net/bluetooth/l2cap_core.c chan = l2cap_get_chan_by_ident(conn, ident); conn 5158 net/bluetooth/l2cap_core.c l2cap_send_move_chan_cfm_icid(conn, icid); conn 5179 net/bluetooth/l2cap_core.c static int l2cap_move_channel_rsp(struct l2cap_conn *conn, conn 5195 net/bluetooth/l2cap_core.c l2cap_move_continue(conn, icid, result); conn 5197 net/bluetooth/l2cap_core.c l2cap_move_fail(conn, cmd->ident, icid, result); conn 5202 net/bluetooth/l2cap_core.c static int l2cap_move_channel_confirm(struct l2cap_conn *conn, conn 5218 net/bluetooth/l2cap_core.c chan = l2cap_get_chan_by_dcid(conn, icid); conn 5221 net/bluetooth/l2cap_core.c l2cap_send_move_chan_cfm_rsp(conn, cmd->ident, icid); conn 5237 net/bluetooth/l2cap_core.c l2cap_send_move_chan_cfm_rsp(conn, cmd->ident, icid); conn 5244 net/bluetooth/l2cap_core.c static inline int l2cap_move_channel_confirm_rsp(struct l2cap_conn *conn, conn 5259 net/bluetooth/l2cap_core.c chan = l2cap_get_chan_by_scid(conn, icid); conn 5279 net/bluetooth/l2cap_core.c static inline int l2cap_conn_param_update_req(struct l2cap_conn *conn, conn 5283 net/bluetooth/l2cap_core.c struct hci_conn *hcon = conn->hcon; conn 5312 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, cmd->ident, L2CAP_CONN_PARAM_UPDATE_RSP, conn 5329 net/bluetooth/l2cap_core.c static int l2cap_le_connect_rsp(struct l2cap_conn *conn, conn 5334 net/bluetooth/l2cap_core.c struct hci_conn *hcon = conn->hcon; conn 5356 net/bluetooth/l2cap_core.c mutex_lock(&conn->chan_lock); conn 5358 net/bluetooth/l2cap_core.c chan = __l2cap_get_chan_by_ident(conn, cmd->ident); conn 5370 net/bluetooth/l2cap_core.c if (__l2cap_get_chan_by_dcid(conn, dcid)) { conn 5411 net/bluetooth/l2cap_core.c mutex_unlock(&conn->chan_lock); conn 5416 net/bluetooth/l2cap_core.c static inline int l2cap_bredr_sig_cmd(struct l2cap_conn *conn, conn 5424 net/bluetooth/l2cap_core.c l2cap_command_rej(conn, cmd, cmd_len, data); conn 5428 net/bluetooth/l2cap_core.c err = l2cap_connect_req(conn, cmd, cmd_len, data); conn 5433 net/bluetooth/l2cap_core.c l2cap_connect_create_rsp(conn, cmd, cmd_len, data); conn 5437 net/bluetooth/l2cap_core.c err = l2cap_config_req(conn, cmd, cmd_len, data); conn 5441 net/bluetooth/l2cap_core.c l2cap_config_rsp(conn, cmd, cmd_len, data); conn 5445 net/bluetooth/l2cap_core.c err = l2cap_disconnect_req(conn, cmd, cmd_len, data); conn 5449 net/bluetooth/l2cap_core.c l2cap_disconnect_rsp(conn, cmd, cmd_len, data); conn 5453 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, cmd->ident, L2CAP_ECHO_RSP, cmd_len, data); conn 5460 net/bluetooth/l2cap_core.c err = l2cap_information_req(conn, cmd, cmd_len, data); conn 5464 net/bluetooth/l2cap_core.c l2cap_information_rsp(conn, cmd, cmd_len, data); conn 5468 net/bluetooth/l2cap_core.c err = l2cap_create_channel_req(conn, cmd, cmd_len, data); conn 5472 net/bluetooth/l2cap_core.c err = l2cap_move_channel_req(conn, cmd, cmd_len, data); conn 5476 net/bluetooth/l2cap_core.c l2cap_move_channel_rsp(conn, cmd, cmd_len, data); conn 5480 net/bluetooth/l2cap_core.c err = l2cap_move_channel_confirm(conn, cmd, cmd_len, data); conn 5484 net/bluetooth/l2cap_core.c l2cap_move_channel_confirm_rsp(conn, cmd, cmd_len, data); conn 5496 net/bluetooth/l2cap_core.c static int l2cap_le_connect_req(struct l2cap_conn *conn, conn 5524 net/bluetooth/l2cap_core.c pchan = l2cap_global_chan_by_psm(BT_LISTEN, psm, &conn->hcon->src, conn 5525 net/bluetooth/l2cap_core.c &conn->hcon->dst, LE_LINK); conn 5532 net/bluetooth/l2cap_core.c mutex_lock(&conn->chan_lock); conn 5535 net/bluetooth/l2cap_core.c if (!smp_sufficient_security(conn->hcon, pchan->sec_level, conn 5550 net/bluetooth/l2cap_core.c if (__l2cap_get_chan_by_dcid(conn, scid)) { conn 5562 net/bluetooth/l2cap_core.c bacpy(&chan->src, &conn->hcon->src); conn 5563 net/bluetooth/l2cap_core.c bacpy(&chan->dst, &conn->hcon->dst); conn 5564 net/bluetooth/l2cap_core.c chan->src_type = bdaddr_src_type(conn->hcon); conn 5565 net/bluetooth/l2cap_core.c chan->dst_type = bdaddr_dst_type(conn->hcon); conn 5571 net/bluetooth/l2cap_core.c __l2cap_chan_add(conn, chan); conn 5598 net/bluetooth/l2cap_core.c mutex_unlock(&conn->chan_lock); conn 5617 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, cmd->ident, L2CAP_LE_CONN_RSP, sizeof(rsp), &rsp); conn 5622 net/bluetooth/l2cap_core.c static inline int l2cap_le_credits(struct l2cap_conn *conn, conn 5639 net/bluetooth/l2cap_core.c chan = l2cap_get_chan_by_dcid(conn, cid); conn 5668 net/bluetooth/l2cap_core.c static inline int l2cap_le_command_rej(struct l2cap_conn *conn, conn 5678 net/bluetooth/l2cap_core.c mutex_lock(&conn->chan_lock); conn 5680 net/bluetooth/l2cap_core.c chan = __l2cap_get_chan_by_ident(conn, cmd->ident); conn 5689 net/bluetooth/l2cap_core.c mutex_unlock(&conn->chan_lock); conn 5693 net/bluetooth/l2cap_core.c static inline int l2cap_le_sig_cmd(struct l2cap_conn *conn, conn 5701 net/bluetooth/l2cap_core.c l2cap_le_command_rej(conn, cmd, cmd_len, data); conn 5705 net/bluetooth/l2cap_core.c err = l2cap_conn_param_update_req(conn, cmd, cmd_len, data); conn 5712 net/bluetooth/l2cap_core.c l2cap_le_connect_rsp(conn, cmd, cmd_len, data); conn 5716 net/bluetooth/l2cap_core.c err = l2cap_le_connect_req(conn, cmd, cmd_len, data); conn 5720 net/bluetooth/l2cap_core.c err = l2cap_le_credits(conn, cmd, cmd_len, data); conn 5724 net/bluetooth/l2cap_core.c err = l2cap_disconnect_req(conn, cmd, cmd_len, data); conn 5728 net/bluetooth/l2cap_core.c l2cap_disconnect_rsp(conn, cmd, cmd_len, data); conn 5740 net/bluetooth/l2cap_core.c static inline void l2cap_le_sig_channel(struct l2cap_conn *conn, conn 5743 net/bluetooth/l2cap_core.c struct hci_conn *hcon = conn->hcon; conn 5766 net/bluetooth/l2cap_core.c err = l2cap_le_sig_cmd(conn, cmd, len, skb->data); conn 5773 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, cmd->ident, L2CAP_COMMAND_REJ, conn 5781 net/bluetooth/l2cap_core.c static inline void l2cap_sig_channel(struct l2cap_conn *conn, conn 5784 net/bluetooth/l2cap_core.c struct hci_conn *hcon = conn->hcon; conn 5790 net/bluetooth/l2cap_core.c l2cap_raw_recv(conn, skb); conn 5811 net/bluetooth/l2cap_core.c err = l2cap_bredr_sig_cmd(conn, &cmd, cmd_len, data); conn 5818 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, cmd.ident, L2CAP_COMMAND_REJ, conn 6505 net/bluetooth/l2cap_core.c chan->conn->mtu = chan->hs_hcon->hdev->block_mtu; conn 6507 net/bluetooth/l2cap_core.c chan->conn->mtu = chan->conn->hcon->hdev->acl_mtu; conn 6576 net/bluetooth/l2cap_core.c chan->conn->mtu = chan->hs_hcon->hdev->block_mtu; conn 6578 net/bluetooth/l2cap_core.c chan->conn->mtu = chan->conn->hcon->hdev->acl_mtu; conn 6764 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = chan->conn; conn 6780 net/bluetooth/l2cap_core.c chan->ident = l2cap_get_ident(conn); conn 6782 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, chan->ident, L2CAP_LE_CREDITS, sizeof(pkt), &pkt); conn 6904 net/bluetooth/l2cap_core.c static void l2cap_data_channel(struct l2cap_conn *conn, u16 cid, conn 6909 net/bluetooth/l2cap_core.c chan = l2cap_get_chan_by_scid(conn, cid); conn 6912 net/bluetooth/l2cap_core.c chan = a2mp_channel_create(conn, skb); conn 6978 net/bluetooth/l2cap_core.c static void l2cap_conless_channel(struct l2cap_conn *conn, __le16 psm, conn 6981 net/bluetooth/l2cap_core.c struct hci_conn *hcon = conn->hcon; conn 7015 net/bluetooth/l2cap_core.c static void l2cap_recv_frame(struct l2cap_conn *conn, struct sk_buff *skb) conn 7018 net/bluetooth/l2cap_core.c struct hci_conn *hcon = conn->hcon; conn 7024 net/bluetooth/l2cap_core.c skb_queue_tail(&conn->pending_rx, skb); conn 7051 net/bluetooth/l2cap_core.c l2cap_sig_channel(conn, skb); conn 7057 net/bluetooth/l2cap_core.c l2cap_conless_channel(conn, psm, skb); conn 7061 net/bluetooth/l2cap_core.c l2cap_le_sig_channel(conn, skb); conn 7065 net/bluetooth/l2cap_core.c l2cap_data_channel(conn, cid, skb); conn 7072 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = container_of(work, struct l2cap_conn, conn 7078 net/bluetooth/l2cap_core.c while ((skb = skb_dequeue(&conn->pending_rx))) conn 7079 net/bluetooth/l2cap_core.c l2cap_recv_frame(conn, skb); conn 7084 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = hcon->l2cap_data; conn 7087 net/bluetooth/l2cap_core.c if (conn) conn 7088 net/bluetooth/l2cap_core.c return conn; conn 7094 net/bluetooth/l2cap_core.c conn = kzalloc(sizeof(*conn), GFP_KERNEL); conn 7095 net/bluetooth/l2cap_core.c if (!conn) { conn 7100 net/bluetooth/l2cap_core.c kref_init(&conn->ref); conn 7101 net/bluetooth/l2cap_core.c hcon->l2cap_data = conn; conn 7102 net/bluetooth/l2cap_core.c conn->hcon = hci_conn_get(hcon); conn 7103 net/bluetooth/l2cap_core.c conn->hchan = hchan; conn 7105 net/bluetooth/l2cap_core.c BT_DBG("hcon %p conn %p hchan %p", hcon, conn, hchan); conn 7110 net/bluetooth/l2cap_core.c conn->mtu = hcon->hdev->le_mtu; conn 7115 net/bluetooth/l2cap_core.c conn->mtu = hcon->hdev->acl_mtu; conn 7119 net/bluetooth/l2cap_core.c conn->feat_mask = 0; conn 7121 net/bluetooth/l2cap_core.c conn->local_fixed_chan = L2CAP_FC_SIG_BREDR | L2CAP_FC_CONNLESS; conn 7125 net/bluetooth/l2cap_core.c conn->local_fixed_chan |= L2CAP_FC_A2MP; conn 7130 net/bluetooth/l2cap_core.c conn->local_fixed_chan |= L2CAP_FC_SMP_BREDR; conn 7132 net/bluetooth/l2cap_core.c mutex_init(&conn->ident_lock); conn 7133 net/bluetooth/l2cap_core.c mutex_init(&conn->chan_lock); conn 7135 net/bluetooth/l2cap_core.c INIT_LIST_HEAD(&conn->chan_l); conn 7136 net/bluetooth/l2cap_core.c INIT_LIST_HEAD(&conn->users); conn 7138 net/bluetooth/l2cap_core.c INIT_DELAYED_WORK(&conn->info_timer, l2cap_info_timeout); conn 7140 net/bluetooth/l2cap_core.c skb_queue_head_init(&conn->pending_rx); conn 7141 net/bluetooth/l2cap_core.c INIT_WORK(&conn->pending_rx_work, process_pending_rx); conn 7142 net/bluetooth/l2cap_core.c INIT_WORK(&conn->id_addr_update_work, l2cap_conn_update_id_addr); conn 7144 net/bluetooth/l2cap_core.c conn->disc_reason = HCI_ERROR_REMOTE_USER_TERM; conn 7146 net/bluetooth/l2cap_core.c return conn; conn 7163 net/bluetooth/l2cap_core.c struct l2cap_conn *conn; conn 7266 net/bluetooth/l2cap_core.c conn = l2cap_conn_add(hcon); conn 7267 net/bluetooth/l2cap_core.c if (!conn) { conn 7273 net/bluetooth/l2cap_core.c mutex_lock(&conn->chan_lock); conn 7276 net/bluetooth/l2cap_core.c if (cid && __l2cap_get_chan_by_dcid(conn, cid)) { conn 7286 net/bluetooth/l2cap_core.c __l2cap_chan_add(conn, chan); conn 7314 net/bluetooth/l2cap_core.c mutex_unlock(&conn->chan_lock); conn 7392 net/bluetooth/l2cap_core.c struct l2cap_conn *conn; conn 7406 net/bluetooth/l2cap_core.c conn = l2cap_conn_add(hcon); conn 7407 net/bluetooth/l2cap_core.c if (!conn) conn 7426 net/bluetooth/l2cap_core.c if (__l2cap_get_chan_by_dcid(conn, pchan->scid)) conn 7437 net/bluetooth/l2cap_core.c __l2cap_chan_add(conn, chan); conn 7447 net/bluetooth/l2cap_core.c l2cap_conn_ready(conn); conn 7452 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = hcon->l2cap_data; conn 7456 net/bluetooth/l2cap_core.c if (!conn) conn 7458 net/bluetooth/l2cap_core.c return conn->disc_reason; conn 7490 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = hcon->l2cap_data; conn 7493 net/bluetooth/l2cap_core.c if (!conn) conn 7496 net/bluetooth/l2cap_core.c BT_DBG("conn %p status 0x%2.2x encrypt %u", conn, status, encrypt); conn 7498 net/bluetooth/l2cap_core.c mutex_lock(&conn->chan_lock); conn 7500 net/bluetooth/l2cap_core.c list_for_each_entry(chan, &conn->chan_l, list) { conn 7558 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, chan->ident, L2CAP_CONN_RSP, conn 7565 net/bluetooth/l2cap_core.c l2cap_send_cmd(conn, l2cap_get_ident(conn), conn 7576 net/bluetooth/l2cap_core.c mutex_unlock(&conn->chan_lock); conn 7581 net/bluetooth/l2cap_core.c struct l2cap_conn *conn = hcon->l2cap_data; conn 7586 net/bluetooth/l2cap_core.c if (!conn && hcon->hdev->dev_type != HCI_PRIMARY) conn 7589 net/bluetooth/l2cap_core.c if (!conn) conn 7590 net/bluetooth/l2cap_core.c conn = l2cap_conn_add(hcon); conn 7592 net/bluetooth/l2cap_core.c if (!conn) conn 7595 net/bluetooth/l2cap_core.c BT_DBG("conn %p len %d flags 0x%x", conn, skb->len, flags); conn 7601 net/bluetooth/l2cap_core.c if (conn->rx_len) { conn 7603 net/bluetooth/l2cap_core.c kfree_skb(conn->rx_skb); conn 7604 net/bluetooth/l2cap_core.c conn->rx_skb = NULL; conn 7605 net/bluetooth/l2cap_core.c conn->rx_len = 0; conn 7606 net/bluetooth/l2cap_core.c l2cap_conn_unreliable(conn, ECOMM); conn 7612 net/bluetooth/l2cap_core.c l2cap_conn_unreliable(conn, ECOMM); conn 7621 net/bluetooth/l2cap_core.c l2cap_recv_frame(conn, skb); conn 7630 net/bluetooth/l2cap_core.c l2cap_conn_unreliable(conn, ECOMM); conn 7635 net/bluetooth/l2cap_core.c conn->rx_skb = bt_skb_alloc(len, GFP_KERNEL); conn 7636 net/bluetooth/l2cap_core.c if (!conn->rx_skb) conn 7639 net/bluetooth/l2cap_core.c skb_copy_from_linear_data(skb, skb_put(conn->rx_skb, skb->len), conn 7641 net/bluetooth/l2cap_core.c conn->rx_len = len - skb->len; conn 7645 net/bluetooth/l2cap_core.c BT_DBG("Cont: frag len %d (expecting %d)", skb->len, conn->rx_len); conn 7647 net/bluetooth/l2cap_core.c if (!conn->rx_len) { conn 7649 net/bluetooth/l2cap_core.c l2cap_conn_unreliable(conn, ECOMM); conn 7653 net/bluetooth/l2cap_core.c if (skb->len > conn->rx_len) { conn 7655 net/bluetooth/l2cap_core.c skb->len, conn->rx_len); conn 7656 net/bluetooth/l2cap_core.c kfree_skb(conn->rx_skb); conn 7657 net/bluetooth/l2cap_core.c conn->rx_skb = NULL; conn 7658 net/bluetooth/l2cap_core.c conn->rx_len = 0; conn 7659 net/bluetooth/l2cap_core.c l2cap_conn_unreliable(conn, ECOMM); conn 7663 net/bluetooth/l2cap_core.c skb_copy_from_linear_data(skb, skb_put(conn->rx_skb, skb->len), conn 7665 net/bluetooth/l2cap_core.c conn->rx_len -= skb->len; conn 7667 net/bluetooth/l2cap_core.c if (!conn->rx_len) { conn 7672 net/bluetooth/l2cap_core.c struct sk_buff *rx_skb = conn->rx_skb; conn 7673 net/bluetooth/l2cap_core.c conn->rx_skb = NULL; conn 7674 net/bluetooth/l2cap_core.c l2cap_recv_frame(conn, rx_skb); conn 477 net/bluetooth/l2cap_sock.c cinfo.hci_handle = chan->conn->hcon->handle; conn 478 net/bluetooth/l2cap_sock.c memcpy(cinfo.dev_class, chan->conn->hcon->dev_class, 3); conn 527 net/bluetooth/l2cap_sock.c if (chan->conn) { conn 528 net/bluetooth/l2cap_sock.c sec.level = chan->conn->hcon->sec_level; conn 531 net/bluetooth/l2cap_sock.c sec.key_size = chan->conn->hcon->enc_key_size; conn 750 net/bluetooth/l2cap_sock.c struct l2cap_conn *conn; conn 789 net/bluetooth/l2cap_sock.c if (!chan->conn) conn 792 net/bluetooth/l2cap_sock.c conn = chan->conn; conn 796 net/bluetooth/l2cap_sock.c if (smp_conn_security(conn->hcon, sec.level)) { conn 850 net/bluetooth/l2cap_sock.c conn = chan->conn; conn 853 net/bluetooth/l2cap_sock.c if (!conn || !lmp_no_flush_capable(conn->hcon->hdev)) { conn 1110 net/bluetooth/l2cap_sock.c struct l2cap_conn *conn; conn 1151 net/bluetooth/l2cap_sock.c conn = chan->conn; conn 1152 net/bluetooth/l2cap_sock.c if (conn) conn 1154 net/bluetooth/l2cap_sock.c l2cap_conn_get(conn); conn 1157 net/bluetooth/l2cap_sock.c if (conn) conn 1159 net/bluetooth/l2cap_sock.c mutex_lock(&conn->chan_lock); conn 1165 net/bluetooth/l2cap_sock.c if (conn) { conn 1166 net/bluetooth/l2cap_sock.c mutex_unlock(&conn->chan_lock); conn 1167 net/bluetooth/l2cap_sock.c l2cap_conn_put(conn); conn 1124 net/bluetooth/mgmt.c struct hci_conn *conn; conn 1143 net/bluetooth/mgmt.c list_for_each_entry(conn, &hdev->conn_hash.list, list) { conn 1145 net/bluetooth/mgmt.c __hci_abort_conn(&req, conn, 0x15); conn 2380 net/bluetooth/mgmt.c struct hci_conn *conn; conn 2416 net/bluetooth/mgmt.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, conn 2419 net/bluetooth/mgmt.c conn = NULL; conn 2445 net/bluetooth/mgmt.c conn = hci_conn_hash_lookup_le(hdev, &cp->addr.bdaddr, addr_type); conn 2446 net/bluetooth/mgmt.c if (!conn) { conn 2455 net/bluetooth/mgmt.c set_bit(HCI_CONN_PARAM_REMOVAL_PEND, &conn->flags); conn 2470 net/bluetooth/mgmt.c conn = NULL; conn 2476 net/bluetooth/mgmt.c if (!conn) { conn 2492 net/bluetooth/mgmt.c err = hci_abort_conn(conn, HCI_ERROR_REMOTE_USER_TERM); conn 2507 net/bluetooth/mgmt.c struct hci_conn *conn; conn 2537 net/bluetooth/mgmt.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, conn 2540 net/bluetooth/mgmt.c conn = hci_conn_hash_lookup_le(hdev, &cp->addr.bdaddr, conn 2543 net/bluetooth/mgmt.c if (!conn || conn->state == BT_OPEN || conn->state == BT_CLOSED) { conn 2558 net/bluetooth/mgmt.c err = hci_disconnect(conn, HCI_ERROR_REMOTE_USER_TERM); conn 2664 net/bluetooth/mgmt.c struct hci_conn *conn; conn 2680 net/bluetooth/mgmt.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &cp->addr.bdaddr); conn 2681 net/bluetooth/mgmt.c if (!conn) { conn 2687 net/bluetooth/mgmt.c if (conn->pending_sec_level == BT_SECURITY_HIGH && cp->pin_len != 16) { conn 2747 net/bluetooth/mgmt.c static struct mgmt_pending_cmd *find_pairing(struct hci_conn *conn) conn 2749 net/bluetooth/mgmt.c struct hci_dev *hdev = conn->hdev; conn 2756 net/bluetooth/mgmt.c if (cmd->user_data != conn) conn 2768 net/bluetooth/mgmt.c struct hci_conn *conn = cmd->user_data; conn 2771 net/bluetooth/mgmt.c bacpy(&rp.addr.bdaddr, &conn->dst); conn 2772 net/bluetooth/mgmt.c rp.addr.type = link_to_bdaddr(conn->type, conn->dst_type); conn 2778 net/bluetooth/mgmt.c conn->connect_cfm_cb = NULL; conn 2779 net/bluetooth/mgmt.c conn->security_cfm_cb = NULL; conn 2780 net/bluetooth/mgmt.c conn->disconn_cfm_cb = NULL; conn 2782 net/bluetooth/mgmt.c hci_conn_drop(conn); conn 2787 net/bluetooth/mgmt.c clear_bit(HCI_CONN_PARAM_REMOVAL_PEND, &conn->flags); conn 2789 net/bluetooth/mgmt.c hci_conn_put(conn); conn 2794 net/bluetooth/mgmt.c void mgmt_smp_complete(struct hci_conn *conn, bool complete) conn 2799 net/bluetooth/mgmt.c cmd = find_pairing(conn); conn 2806 net/bluetooth/mgmt.c static void pairing_complete_cb(struct hci_conn *conn, u8 status) conn 2812 net/bluetooth/mgmt.c cmd = find_pairing(conn); conn 2822 net/bluetooth/mgmt.c static void le_pairing_complete_cb(struct hci_conn *conn, u8 status) conn 2831 net/bluetooth/mgmt.c cmd = find_pairing(conn); conn 2848 net/bluetooth/mgmt.c struct hci_conn *conn; conn 2887 net/bluetooth/mgmt.c conn = hci_connect_acl(hdev, &cp->addr.bdaddr, sec_level, conn 2907 net/bluetooth/mgmt.c conn = hci_connect_le_scan(hdev, &cp->addr.bdaddr, conn 2912 net/bluetooth/mgmt.c if (IS_ERR(conn)) { conn 2915 net/bluetooth/mgmt.c if (PTR_ERR(conn) == -EBUSY) conn 2917 net/bluetooth/mgmt.c else if (PTR_ERR(conn) == -EOPNOTSUPP) conn 2919 net/bluetooth/mgmt.c else if (PTR_ERR(conn) == -ECONNREFUSED) conn 2929 net/bluetooth/mgmt.c if (conn->connect_cfm_cb) { conn 2930 net/bluetooth/mgmt.c hci_conn_drop(conn); conn 2939 net/bluetooth/mgmt.c hci_conn_drop(conn); conn 2947 net/bluetooth/mgmt.c conn->connect_cfm_cb = pairing_complete_cb; conn 2948 net/bluetooth/mgmt.c conn->security_cfm_cb = pairing_complete_cb; conn 2949 net/bluetooth/mgmt.c conn->disconn_cfm_cb = pairing_complete_cb; conn 2951 net/bluetooth/mgmt.c conn->connect_cfm_cb = le_pairing_complete_cb; conn 2952 net/bluetooth/mgmt.c conn->security_cfm_cb = le_pairing_complete_cb; conn 2953 net/bluetooth/mgmt.c conn->disconn_cfm_cb = le_pairing_complete_cb; conn 2956 net/bluetooth/mgmt.c conn->io_capability = cp->io_cap; conn 2957 net/bluetooth/mgmt.c cmd->user_data = hci_conn_get(conn); conn 2959 net/bluetooth/mgmt.c if ((conn->state == BT_CONNECTED || conn->state == BT_CONFIG) && conn 2960 net/bluetooth/mgmt.c hci_conn_security(conn, sec_level, auth_type, true)) { conn 2977 net/bluetooth/mgmt.c struct hci_conn *conn; conn 2997 net/bluetooth/mgmt.c conn = cmd->user_data; conn 2999 net/bluetooth/mgmt.c if (bacmp(&addr->bdaddr, &conn->dst) != 0) { conn 3020 net/bluetooth/mgmt.c struct hci_conn *conn; conn 3033 net/bluetooth/mgmt.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &addr->bdaddr); conn 3035 net/bluetooth/mgmt.c conn = hci_conn_hash_lookup_le(hdev, &addr->bdaddr, conn 3038 net/bluetooth/mgmt.c if (!conn) { conn 3046 net/bluetooth/mgmt.c err = smp_user_confirm_reply(conn, mgmt_op, passkey); conn 5177 net/bluetooth/mgmt.c struct hci_conn *conn = cmd->user_data; conn 5184 net/bluetooth/mgmt.c rp.rssi = conn->rssi; conn 5185 net/bluetooth/mgmt.c rp.tx_power = conn->tx_power; conn 5186 net/bluetooth/mgmt.c rp.max_tx_power = conn->max_tx_power; conn 5196 net/bluetooth/mgmt.c hci_conn_drop(conn); conn 5197 net/bluetooth/mgmt.c hci_conn_put(conn); conn 5207 net/bluetooth/mgmt.c struct hci_conn *conn; conn 5238 net/bluetooth/mgmt.c conn = hci_conn_hash_lookup_handle(hdev, handle); conn 5239 net/bluetooth/mgmt.c if (!conn) { conn 5245 net/bluetooth/mgmt.c cmd = pending_find_data(MGMT_OP_GET_CONN_INFO, hdev, conn); conn 5261 net/bluetooth/mgmt.c struct hci_conn *conn; conn 5286 net/bluetooth/mgmt.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, conn 5289 net/bluetooth/mgmt.c conn = hci_conn_hash_lookup_ba(hdev, LE_LINK, &cp->addr.bdaddr); conn 5291 net/bluetooth/mgmt.c if (!conn || conn->state != BT_CONNECTED) { conn 5298 net/bluetooth/mgmt.c if (pending_find_data(MGMT_OP_GET_CONN_INFO, hdev, conn)) { conn 5314 net/bluetooth/mgmt.c if (time_after(jiffies, conn->conn_info_timestamp + conn 5316 net/bluetooth/mgmt.c !conn->conn_info_timestamp) { conn 5323 net/bluetooth/mgmt.c req_rssi_cp.handle = cpu_to_le16(conn->handle); conn 5331 net/bluetooth/mgmt.c conn->tx_power == HCI_TX_POWER_INVALID) { conn 5332 net/bluetooth/mgmt.c req_txp_cp.handle = cpu_to_le16(conn->handle); conn 5339 net/bluetooth/mgmt.c if (conn->max_tx_power == HCI_TX_POWER_INVALID) { conn 5340 net/bluetooth/mgmt.c req_txp_cp.handle = cpu_to_le16(conn->handle); conn 5357 net/bluetooth/mgmt.c hci_conn_hold(conn); conn 5358 net/bluetooth/mgmt.c cmd->user_data = hci_conn_get(conn); conn 5361 net/bluetooth/mgmt.c conn->conn_info_timestamp = jiffies; conn 5364 net/bluetooth/mgmt.c rp.rssi = conn->rssi; conn 5365 net/bluetooth/mgmt.c rp.tx_power = conn->tx_power; conn 5366 net/bluetooth/mgmt.c rp.max_tx_power = conn->max_tx_power; conn 5379 net/bluetooth/mgmt.c struct hci_conn *conn = cmd->user_data; conn 5396 net/bluetooth/mgmt.c if (conn) { conn 5397 net/bluetooth/mgmt.c rp.piconet_clock = cpu_to_le32(conn->clock); conn 5398 net/bluetooth/mgmt.c rp.accuracy = cpu_to_le16(conn->clock_accuracy); conn 5405 net/bluetooth/mgmt.c if (conn) { conn 5406 net/bluetooth/mgmt.c hci_conn_drop(conn); conn 5407 net/bluetooth/mgmt.c hci_conn_put(conn); conn 5417 net/bluetooth/mgmt.c struct hci_conn *conn; conn 5429 net/bluetooth/mgmt.c conn = hci_conn_hash_lookup_handle(hdev, handle); conn 5431 net/bluetooth/mgmt.c conn = NULL; conn 5434 net/bluetooth/mgmt.c cmd = pending_find_data(MGMT_OP_GET_CLOCK_INFO, hdev, conn); conn 5453 net/bluetooth/mgmt.c struct hci_conn *conn; conn 5477 net/bluetooth/mgmt.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, conn 5479 net/bluetooth/mgmt.c if (!conn || conn->state != BT_CONNECTED) { conn 5487 net/bluetooth/mgmt.c conn = NULL; conn 5503 net/bluetooth/mgmt.c if (conn) { conn 5504 net/bluetooth/mgmt.c hci_conn_hold(conn); conn 5505 net/bluetooth/mgmt.c cmd->user_data = hci_conn_get(conn); conn 5507 net/bluetooth/mgmt.c hci_cp.handle = cpu_to_le16(conn->handle); conn 5523 net/bluetooth/mgmt.c struct hci_conn *conn; conn 5525 net/bluetooth/mgmt.c conn = hci_conn_hash_lookup_ba(hdev, LE_LINK, addr); conn 5526 net/bluetooth/mgmt.c if (!conn) conn 5529 net/bluetooth/mgmt.c if (conn->dst_type != type) conn 5532 net/bluetooth/mgmt.c if (conn->state != BT_CONNECTED) conn 7233 net/bluetooth/mgmt.c void mgmt_device_connected(struct hci_dev *hdev, struct hci_conn *conn, conn 7240 net/bluetooth/mgmt.c bacpy(&ev->addr.bdaddr, &conn->dst); conn 7241 net/bluetooth/mgmt.c ev->addr.type = link_to_bdaddr(conn->type, conn->dst_type); conn 7249 net/bluetooth/mgmt.c if (conn->le_adv_data_len > 0) { conn 7251 net/bluetooth/mgmt.c conn->le_adv_data, conn->le_adv_data_len); conn 7252 net/bluetooth/mgmt.c eir_len = conn->le_adv_data_len; conn 7258 net/bluetooth/mgmt.c if (memcmp(conn->dev_class, "\0\0\0", 3) != 0) conn 7261 net/bluetooth/mgmt.c conn->dev_class, 3); conn 7521 net/bluetooth/mgmt.c void mgmt_auth_failed(struct hci_conn *conn, u8 hci_status) conn 7527 net/bluetooth/mgmt.c bacpy(&ev.addr.bdaddr, &conn->dst); conn 7528 net/bluetooth/mgmt.c ev.addr.type = link_to_bdaddr(conn->type, conn->dst_type); conn 7531 net/bluetooth/mgmt.c cmd = find_pairing(conn); conn 7533 net/bluetooth/mgmt.c mgmt_event(MGMT_EV_AUTH_FAILED, conn->hdev, &ev, sizeof(ev), conn 215 net/bluetooth/rfcomm/core.c struct l2cap_conn *conn = l2cap_pi(sk)->chan->conn; conn 232 net/bluetooth/rfcomm/core.c return hci_conn_security(conn->hcon, d->sec_level, auth_type, conn 1286 net/bluetooth/rfcomm/core.c struct l2cap_conn *conn = l2cap_pi(sk)->chan->conn; conn 1300 net/bluetooth/rfcomm/core.c hci_conn_switch_role(conn->hcon, 0x00); conn 2099 net/bluetooth/rfcomm/core.c static void rfcomm_security_cfm(struct hci_conn *conn, u8 status, u8 encrypt) conn 2104 net/bluetooth/rfcomm/core.c BT_DBG("conn %p status 0x%02x encrypt 0x%02x", conn, status, encrypt); conn 2106 net/bluetooth/rfcomm/core.c s = rfcomm_session_get(&conn->hdev->bdaddr, &conn->dst); conn 2134 net/bluetooth/rfcomm/core.c if (!status && hci_conn_check_secure(conn, d->sec_level)) conn 763 net/bluetooth/rfcomm/sock.c struct l2cap_conn *conn; conn 813 net/bluetooth/rfcomm/sock.c conn = l2cap_pi(l2cap_sk)->chan->conn; conn 816 net/bluetooth/rfcomm/sock.c cinfo.hci_handle = conn->hcon->handle; conn 817 net/bluetooth/rfcomm/sock.c memcpy(cinfo.dev_class, conn->hcon->dev_class, 3); conn 179 net/bluetooth/rfcomm/tty.c struct hci_conn *conn; conn 189 net/bluetooth/rfcomm/tty.c conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &dev->dst); conn 194 net/bluetooth/rfcomm/tty.c if (conn && device_is_registered(&conn->dev)) conn 195 net/bluetooth/rfcomm/tty.c device_move(dev->tty_dev, &conn->dev, DPM_ORDER_DEV_AFTER_PARENT); conn 69 net/bluetooth/sco.c struct sco_conn *conn; conn 107 net/bluetooth/sco.c struct sco_conn *conn = hcon->sco_data; conn 109 net/bluetooth/sco.c if (conn) conn 110 net/bluetooth/sco.c return conn; conn 112 net/bluetooth/sco.c conn = kzalloc(sizeof(struct sco_conn), GFP_KERNEL); conn 113 net/bluetooth/sco.c if (!conn) conn 116 net/bluetooth/sco.c spin_lock_init(&conn->lock); conn 118 net/bluetooth/sco.c hcon->sco_data = conn; conn 119 net/bluetooth/sco.c conn->hcon = hcon; conn 122 net/bluetooth/sco.c conn->mtu = hdev->sco_mtu; conn 124 net/bluetooth/sco.c conn->mtu = 60; conn 126 net/bluetooth/sco.c BT_DBG("hcon %p conn %p", hcon, conn); conn 128 net/bluetooth/sco.c return conn; conn 135 net/bluetooth/sco.c struct sco_conn *conn; conn 137 net/bluetooth/sco.c conn = sco_pi(sk)->conn; conn 139 net/bluetooth/sco.c BT_DBG("sk %p, conn %p, err %d", sk, conn, err); conn 141 net/bluetooth/sco.c if (conn) { conn 142 net/bluetooth/sco.c sco_conn_lock(conn); conn 143 net/bluetooth/sco.c conn->sk = NULL; conn 144 net/bluetooth/sco.c sco_pi(sk)->conn = NULL; conn 145 net/bluetooth/sco.c sco_conn_unlock(conn); conn 147 net/bluetooth/sco.c if (conn->hcon) conn 148 net/bluetooth/sco.c hci_conn_drop(conn->hcon); conn 160 net/bluetooth/sco.c struct sco_conn *conn = hcon->sco_data; conn 163 net/bluetooth/sco.c if (!conn) conn 166 net/bluetooth/sco.c BT_DBG("hcon %p conn %p, err %d", hcon, conn, err); conn 169 net/bluetooth/sco.c sco_conn_lock(conn); conn 170 net/bluetooth/sco.c sk = conn->sk; conn 171 net/bluetooth/sco.c sco_conn_unlock(conn); conn 184 net/bluetooth/sco.c kfree(conn); conn 187 net/bluetooth/sco.c static void __sco_chan_add(struct sco_conn *conn, struct sock *sk, conn 190 net/bluetooth/sco.c BT_DBG("conn %p", conn); conn 192 net/bluetooth/sco.c sco_pi(sk)->conn = conn; conn 193 net/bluetooth/sco.c conn->sk = sk; conn 199 net/bluetooth/sco.c static int sco_chan_add(struct sco_conn *conn, struct sock *sk, conn 204 net/bluetooth/sco.c sco_conn_lock(conn); conn 205 net/bluetooth/sco.c if (conn->sk) conn 208 net/bluetooth/sco.c __sco_chan_add(conn, sk, parent); conn 210 net/bluetooth/sco.c sco_conn_unlock(conn); conn 216 net/bluetooth/sco.c struct sco_conn *conn; conn 247 net/bluetooth/sco.c conn = sco_conn_add(hcon); conn 248 net/bluetooth/sco.c if (!conn) { conn 257 net/bluetooth/sco.c err = sco_chan_add(conn, sk, NULL); conn 277 net/bluetooth/sco.c struct sco_conn *conn = sco_pi(sk)->conn; conn 282 net/bluetooth/sco.c if (len > conn->mtu) conn 296 net/bluetooth/sco.c hci_send_sco(conn->hcon, skb); conn 301 net/bluetooth/sco.c static void sco_recv_frame(struct sco_conn *conn, struct sk_buff *skb) conn 305 net/bluetooth/sco.c sco_conn_lock(conn); conn 306 net/bluetooth/sco.c sk = conn->sk; conn 307 net/bluetooth/sco.c sco_conn_unlock(conn); conn 419 net/bluetooth/sco.c if (sco_pi(sk)->conn->hcon) { conn 422 net/bluetooth/sco.c sco_conn_lock(sco_pi(sk)->conn); conn 423 net/bluetooth/sco.c hci_conn_drop(sco_pi(sk)->conn->hcon); conn 424 net/bluetooth/sco.c sco_pi(sk)->conn->hcon = NULL; conn 425 net/bluetooth/sco.c sco_conn_unlock(sco_pi(sk)->conn); conn 727 net/bluetooth/sco.c static void sco_conn_defer_accept(struct hci_conn *conn, u16 setting) conn 729 net/bluetooth/sco.c struct hci_dev *hdev = conn->hdev; conn 731 net/bluetooth/sco.c BT_DBG("conn %p", conn); conn 733 net/bluetooth/sco.c conn->state = BT_CONFIG; conn 738 net/bluetooth/sco.c bacpy(&cp.bdaddr, &conn->dst); conn 745 net/bluetooth/sco.c bacpy(&cp.bdaddr, &conn->dst); conn 746 net/bluetooth/sco.c cp.pkt_type = cpu_to_le16(conn->pkt_type); conn 754 net/bluetooth/sco.c if (conn->pkt_type & ESCO_2EV3) conn 781 net/bluetooth/sco.c sco_conn_defer_accept(pi->conn->hcon, pi->setting); conn 882 net/bluetooth/sco.c opts.mtu = sco_pi(sk)->conn->mtu; conn 901 net/bluetooth/sco.c cinfo.hci_handle = sco_pi(sk)->conn->hcon->handle; conn 902 net/bluetooth/sco.c memcpy(cinfo.dev_class, sco_pi(sk)->conn->hcon->dev_class, 3); conn 1022 net/bluetooth/sco.c static void sco_conn_ready(struct sco_conn *conn) conn 1025 net/bluetooth/sco.c struct sock *sk = conn->sk; conn 1027 net/bluetooth/sco.c BT_DBG("conn %p", conn); conn 1036 net/bluetooth/sco.c sco_conn_lock(conn); conn 1038 net/bluetooth/sco.c if (!conn->hcon) { conn 1039 net/bluetooth/sco.c sco_conn_unlock(conn); conn 1043 net/bluetooth/sco.c parent = sco_get_sock_listen(&conn->hcon->src); conn 1045 net/bluetooth/sco.c sco_conn_unlock(conn); conn 1055 net/bluetooth/sco.c sco_conn_unlock(conn); conn 1061 net/bluetooth/sco.c bacpy(&sco_pi(sk)->src, &conn->hcon->src); conn 1062 net/bluetooth/sco.c bacpy(&sco_pi(sk)->dst, &conn->hcon->dst); conn 1064 net/bluetooth/sco.c hci_conn_hold(conn->hcon); conn 1065 net/bluetooth/sco.c __sco_chan_add(conn, sk, parent); conn 1077 net/bluetooth/sco.c sco_conn_unlock(conn); conn 1117 net/bluetooth/sco.c struct sco_conn *conn; conn 1119 net/bluetooth/sco.c conn = sco_conn_add(hcon); conn 1120 net/bluetooth/sco.c if (conn) conn 1121 net/bluetooth/sco.c sco_conn_ready(conn); conn 1138 net/bluetooth/sco.c struct sco_conn *conn = hcon->sco_data; conn 1140 net/bluetooth/sco.c if (!conn) conn 1143 net/bluetooth/sco.c BT_DBG("conn %p len %d", conn, skb->len); conn 1146 net/bluetooth/sco.c sco_recv_frame(conn, skb); conn 97 net/bluetooth/smp.c struct l2cap_conn *conn; conn 599 net/bluetooth/smp.c static void smp_send_cmd(struct l2cap_conn *conn, u8 code, u16 len, void *data) conn 601 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; conn 657 net/bluetooth/smp.c static void build_pairing_cmd(struct l2cap_conn *conn, conn 661 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; conn 663 net/bluetooth/smp.c struct hci_conn *hcon = conn->hcon; conn 712 net/bluetooth/smp.c req->io_capability = conn->hcon->io_capability; conn 723 net/bluetooth/smp.c rsp->io_capability = conn->hcon->io_capability; conn 733 net/bluetooth/smp.c static u8 check_enc_key_size(struct l2cap_conn *conn, __u8 max_key_size) conn 735 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; conn 736 net/bluetooth/smp.c struct hci_dev *hdev = conn->hcon->hdev; conn 748 net/bluetooth/smp.c static void smp_chan_destroy(struct l2cap_conn *conn) conn 750 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; conn 752 net/bluetooth/smp.c struct hci_conn *hcon = conn->hcon; conn 802 net/bluetooth/smp.c static void smp_failure(struct l2cap_conn *conn, u8 reason) conn 804 net/bluetooth/smp.c struct hci_conn *hcon = conn->hcon; conn 805 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; conn 808 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_PAIRING_FAIL, sizeof(reason), conn 814 net/bluetooth/smp.c smp_chan_destroy(conn); conn 856 net/bluetooth/smp.c static int tk_request(struct l2cap_conn *conn, u8 remote_oob, u8 auth, conn 859 net/bluetooth/smp.c struct hci_conn *hcon = conn->hcon; conn 860 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; conn 948 net/bluetooth/smp.c struct l2cap_conn *conn = smp->conn; conn 952 net/bluetooth/smp.c BT_DBG("conn %p", conn); conn 955 net/bluetooth/smp.c conn->hcon->init_addr_type, &conn->hcon->init_addr, conn 956 net/bluetooth/smp.c conn->hcon->resp_addr_type, &conn->hcon->resp_addr, conn 963 net/bluetooth/smp.c smp_send_cmd(smp->conn, SMP_CMD_PAIRING_CONFIRM, sizeof(cp), &cp); conn 965 net/bluetooth/smp.c if (conn->hcon->out) conn 975 net/bluetooth/smp.c struct l2cap_conn *conn = smp->conn; conn 976 net/bluetooth/smp.c struct hci_conn *hcon = conn->hcon; conn 980 net/bluetooth/smp.c BT_DBG("conn %p %s", conn, conn->hcon->out ? "master" : "slave"); conn 1012 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_PAIRING_RANDOM, sizeof(smp->prnd), conn 1033 net/bluetooth/smp.c static void smp_notify_keys(struct l2cap_conn *conn) conn 1035 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; conn 1037 net/bluetooth/smp.c struct hci_conn *hcon = conn->hcon; conn 1068 net/bluetooth/smp.c queue_work(hdev->workqueue, &conn->id_addr_update_work); conn 1107 net/bluetooth/smp.c key = hci_add_link_key(hdev, smp->conn->hcon, &hcon->dst, conn 1126 net/bluetooth/smp.c struct hci_conn *hcon = smp->conn->hcon; conn 1198 net/bluetooth/smp.c struct hci_conn *hcon = smp->conn->hcon; conn 1234 net/bluetooth/smp.c struct l2cap_conn *conn = smp->conn; conn 1235 net/bluetooth/smp.c struct hci_conn *hcon = conn->hcon; conn 1239 net/bluetooth/smp.c BT_DBG("conn %p", conn); conn 1290 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_ENCRYPT_INFO, sizeof(enc), &enc); conn 1301 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_MASTER_IDENT, sizeof(ident), &ident); conn 1312 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_IDENT_INFO, sizeof(idinfo), &idinfo); conn 1323 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_IDENT_ADDR_INFO, sizeof(addrinfo), conn 1346 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_SIGN_INFO, sizeof(sign), &sign); conn 1358 net/bluetooth/smp.c smp_notify_keys(conn); conn 1360 net/bluetooth/smp.c smp_chan_destroy(conn); conn 1367 net/bluetooth/smp.c struct l2cap_conn *conn = smp->conn; conn 1369 net/bluetooth/smp.c BT_DBG("conn %p", conn); conn 1371 net/bluetooth/smp.c hci_disconnect(conn->hcon, HCI_ERROR_REMOTE_USER_TERM); conn 1374 net/bluetooth/smp.c static struct smp_chan *smp_chan_create(struct l2cap_conn *conn) conn 1376 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; conn 1395 net/bluetooth/smp.c smp->conn = conn; conn 1402 net/bluetooth/smp.c hci_conn_hold(conn->hcon); conn 1415 net/bluetooth/smp.c struct hci_conn *hcon = smp->conn->hcon; conn 1436 net/bluetooth/smp.c struct hci_conn *hcon = smp->conn->hcon; conn 1467 net/bluetooth/smp.c smp_send_cmd(smp->conn, SMP_CMD_DHKEY_CHECK, sizeof(check), &check); conn 1472 net/bluetooth/smp.c struct l2cap_conn *conn = smp->conn; conn 1473 net/bluetooth/smp.c struct hci_conn *hcon = conn->hcon; conn 1486 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_PAIRING_CONFIRM, sizeof(cfm), &cfm); conn 1493 net/bluetooth/smp.c struct l2cap_conn *conn = smp->conn; conn 1494 net/bluetooth/smp.c struct hci_conn *hcon = conn->hcon; conn 1526 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_PAIRING_RANDOM, conn 1554 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_PAIRING_RANDOM, conn 1580 net/bluetooth/smp.c struct l2cap_conn *conn = smp->conn; conn 1581 net/bluetooth/smp.c struct hci_conn *hcon = conn->hcon; conn 1588 net/bluetooth/smp.c smp_failure(smp->conn, SMP_PASSKEY_ENTRY_FAILED); conn 1591 net/bluetooth/smp.c smp_failure(smp->conn, SMP_NUMERIC_COMP_FAILED); conn 1622 net/bluetooth/smp.c struct l2cap_conn *conn = hcon->l2cap_data; conn 1630 net/bluetooth/smp.c if (!conn) conn 1633 net/bluetooth/smp.c chan = conn->smp; conn 1662 net/bluetooth/smp.c smp_failure(conn, SMP_PASSKEY_ENTRY_FAILED); conn 1666 net/bluetooth/smp.c smp_failure(conn, SMP_PASSKEY_ENTRY_FAILED); conn 1677 net/bluetooth/smp.c smp_failure(conn, rsp); conn 1689 net/bluetooth/smp.c struct l2cap_conn *conn = smp->conn; conn 1690 net/bluetooth/smp.c struct hci_dev *hdev = conn->hcon->hdev; conn 1710 net/bluetooth/smp.c req->max_key_size = conn->hcon->enc_key_size; conn 1720 net/bluetooth/smp.c rsp->max_key_size = conn->hcon->enc_key_size; conn 1727 net/bluetooth/smp.c static u8 smp_cmd_pairing_req(struct l2cap_conn *conn, struct sk_buff *skb) conn 1730 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; conn 1731 net/bluetooth/smp.c struct hci_dev *hdev = conn->hcon->hdev; conn 1736 net/bluetooth/smp.c BT_DBG("conn %p", conn); conn 1741 net/bluetooth/smp.c if (conn->hcon->role != HCI_ROLE_SLAVE) conn 1745 net/bluetooth/smp.c smp = smp_chan_create(conn); conn 1774 net/bluetooth/smp.c if (conn->hcon->type == ACL_LINK) { conn 1776 net/bluetooth/smp.c if (!test_bit(HCI_CONN_AES_CCM, &conn->hcon->flags) && conn 1788 net/bluetooth/smp.c if (check_enc_key_size(conn, key_size)) conn 1796 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_PAIRING_RSP, sizeof(rsp), &rsp); conn 1802 net/bluetooth/smp.c build_pairing_cmd(conn, req, &rsp, auth); conn 1811 net/bluetooth/smp.c if (conn->hcon->io_capability == HCI_IO_NO_INPUT_OUTPUT) conn 1816 net/bluetooth/smp.c if (sec_level > conn->hcon->pending_sec_level) conn 1817 net/bluetooth/smp.c conn->hcon->pending_sec_level = sec_level; conn 1820 net/bluetooth/smp.c if (conn->hcon->pending_sec_level >= BT_SECURITY_HIGH) { conn 1823 net/bluetooth/smp.c method = get_auth_method(smp, conn->hcon->io_capability, conn 1830 net/bluetooth/smp.c if (check_enc_key_size(conn, key_size)) conn 1838 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_PAIRING_RSP, sizeof(rsp), &rsp); conn 1858 net/bluetooth/smp.c ret = tk_request(conn, 0, auth, rsp.io_capability, req->io_capability); conn 1867 net/bluetooth/smp.c struct hci_dev *hdev = smp->conn->hcon->hdev; conn 1913 net/bluetooth/smp.c smp_send_cmd(smp->conn, SMP_CMD_PUBLIC_KEY, 64, smp->local_pk); conn 1918 net/bluetooth/smp.c static u8 smp_cmd_pairing_rsp(struct l2cap_conn *conn, struct sk_buff *skb) conn 1921 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; conn 1923 net/bluetooth/smp.c struct hci_dev *hdev = conn->hcon->hdev; conn 1927 net/bluetooth/smp.c BT_DBG("conn %p", conn); conn 1932 net/bluetooth/smp.c if (conn->hcon->role != HCI_ROLE_MASTER) conn 1940 net/bluetooth/smp.c if (check_enc_key_size(conn, key_size)) conn 1967 net/bluetooth/smp.c if (conn->hcon->type == ACL_LINK) { conn 1976 net/bluetooth/smp.c else if (conn->hcon->pending_sec_level > BT_SECURITY_HIGH) conn 1977 net/bluetooth/smp.c conn->hcon->pending_sec_level = BT_SECURITY_HIGH; conn 1980 net/bluetooth/smp.c if (conn->hcon->pending_sec_level >= BT_SECURITY_HIGH) { conn 2005 net/bluetooth/smp.c ret = tk_request(conn, 0, auth, req->io_capability, rsp->io_capability); conn 2020 net/bluetooth/smp.c struct l2cap_conn *conn = smp->conn; conn 2027 net/bluetooth/smp.c if (conn->hcon->out) { conn 2028 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_PAIRING_RANDOM, sizeof(smp->prnd), conn 2042 net/bluetooth/smp.c struct l2cap_conn *conn = smp->conn; conn 2043 net/bluetooth/smp.c struct hci_conn *hcon = conn->hcon; conn 2067 net/bluetooth/smp.c if (tk_request(conn, 0, auth, rsp->io_capability, req->io_capability)) { conn 2077 net/bluetooth/smp.c static u8 smp_cmd_pairing_confirm(struct l2cap_conn *conn, struct sk_buff *skb) conn 2079 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; conn 2082 net/bluetooth/smp.c BT_DBG("conn %p %s", conn, conn->hcon->out ? "master" : "slave"); conn 2104 net/bluetooth/smp.c if (conn->hcon->out) { conn 2105 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_PAIRING_RANDOM, sizeof(smp->prnd), conn 2119 net/bluetooth/smp.c static u8 smp_cmd_pairing_random(struct l2cap_conn *conn, struct sk_buff *skb) conn 2121 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; conn 2123 net/bluetooth/smp.c struct hci_conn *hcon = conn->hcon; conn 2128 net/bluetooth/smp.c BT_DBG("conn %p", conn); conn 2153 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_PAIRING_RANDOM, conn 2174 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_PAIRING_RANDOM, sizeof(smp->prnd), conn 2207 net/bluetooth/smp.c static bool smp_ltk_encrypt(struct l2cap_conn *conn, u8 sec_level) conn 2210 net/bluetooth/smp.c struct hci_conn *hcon = conn->hcon; conn 2254 net/bluetooth/smp.c static u8 smp_cmd_security_req(struct l2cap_conn *conn, struct sk_buff *skb) conn 2258 net/bluetooth/smp.c struct hci_conn *hcon = conn->hcon; conn 2263 net/bluetooth/smp.c BT_DBG("conn %p", conn); conn 2286 net/bluetooth/smp.c smp_ltk_encrypt(conn, hcon->sec_level); conn 2293 net/bluetooth/smp.c if (smp_ltk_encrypt(conn, hcon->pending_sec_level)) conn 2296 net/bluetooth/smp.c smp = smp_chan_create(conn); conn 2307 net/bluetooth/smp.c build_pairing_cmd(conn, &cp, NULL, auth); conn 2312 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_PAIRING_REQ, sizeof(cp), &cp); conn 2320 net/bluetooth/smp.c struct l2cap_conn *conn = hcon->l2cap_data; conn 2326 net/bluetooth/smp.c BT_DBG("conn %p hcon %p level 0x%2.2x", conn, hcon, sec_level); conn 2329 net/bluetooth/smp.c if (!conn) conn 2342 net/bluetooth/smp.c if (smp_ltk_encrypt(conn, hcon->pending_sec_level)) conn 2345 net/bluetooth/smp.c chan = conn->smp; conn 2359 net/bluetooth/smp.c smp = smp_chan_create(conn); conn 2383 net/bluetooth/smp.c build_pairing_cmd(conn, &cp, NULL, authreq); conn 2387 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_PAIRING_REQ, sizeof(cp), &cp); conn 2392 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_SECURITY_REQ, sizeof(cp), &cp); conn 2408 net/bluetooth/smp.c struct l2cap_conn *conn; conn 2420 net/bluetooth/smp.c conn = hcon->l2cap_data; conn 2421 net/bluetooth/smp.c if (!conn) conn 2424 net/bluetooth/smp.c chan = conn->smp; conn 2439 net/bluetooth/smp.c smp_failure(conn, 0); conn 2441 net/bluetooth/smp.c smp_failure(conn, SMP_UNSPECIFIED); conn 2451 net/bluetooth/smp.c static int smp_cmd_encrypt_info(struct l2cap_conn *conn, struct sk_buff *skb) conn 2454 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; conn 2457 net/bluetooth/smp.c BT_DBG("conn %p", conn); conn 2471 net/bluetooth/smp.c static int smp_cmd_master_ident(struct l2cap_conn *conn, struct sk_buff *skb) conn 2474 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; conn 2476 net/bluetooth/smp.c struct hci_dev *hdev = conn->hcon->hdev; conn 2477 net/bluetooth/smp.c struct hci_conn *hcon = conn->hcon; conn 2481 net/bluetooth/smp.c BT_DBG("conn %p", conn); conn 2507 net/bluetooth/smp.c static int smp_cmd_ident_info(struct l2cap_conn *conn, struct sk_buff *skb) conn 2510 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; conn 2527 net/bluetooth/smp.c static int smp_cmd_ident_addr_info(struct l2cap_conn *conn, conn 2531 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; conn 2533 net/bluetooth/smp.c struct hci_conn *hcon = conn->hcon; conn 2586 net/bluetooth/smp.c smp->remote_irk = hci_add_irk(conn->hcon->hdev, &smp->id_addr, conn 2596 net/bluetooth/smp.c static int smp_cmd_sign_info(struct l2cap_conn *conn, struct sk_buff *skb) conn 2599 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; conn 2603 net/bluetooth/smp.c BT_DBG("conn %p", conn); conn 2615 net/bluetooth/smp.c if (conn->hcon->sec_level > BT_SECURITY_MEDIUM) conn 2629 net/bluetooth/smp.c struct l2cap_conn *conn = smp->conn; conn 2630 net/bluetooth/smp.c struct hci_conn *hcon = conn->hcon; conn 2672 net/bluetooth/smp.c static int smp_cmd_public_key(struct l2cap_conn *conn, struct sk_buff *skb) conn 2675 net/bluetooth/smp.c struct hci_conn *hcon = conn->hcon; conn 2676 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; conn 2683 net/bluetooth/smp.c BT_DBG("conn %p", conn); conn 2766 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_PAIRING_RANDOM, conn 2789 net/bluetooth/smp.c if (conn->hcon->out) conn 2797 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_PAIRING_CONFIRM, sizeof(cfm), &cfm); conn 2803 net/bluetooth/smp.c static int smp_cmd_dhkey_check(struct l2cap_conn *conn, struct sk_buff *skb) conn 2806 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; conn 2807 net/bluetooth/smp.c struct hci_conn *hcon = conn->hcon; conn 2813 net/bluetooth/smp.c BT_DBG("conn %p", conn); conn 2868 net/bluetooth/smp.c static int smp_cmd_keypress_notify(struct l2cap_conn *conn, conn 2880 net/bluetooth/smp.c struct l2cap_conn *conn = chan->conn; conn 2881 net/bluetooth/smp.c struct hci_conn *hcon = conn->hcon; conn 2913 net/bluetooth/smp.c reason = smp_cmd_pairing_req(conn, skb); conn 2917 net/bluetooth/smp.c smp_failure(conn, 0); conn 2922 net/bluetooth/smp.c reason = smp_cmd_pairing_rsp(conn, skb); conn 2926 net/bluetooth/smp.c reason = smp_cmd_security_req(conn, skb); conn 2930 net/bluetooth/smp.c reason = smp_cmd_pairing_confirm(conn, skb); conn 2934 net/bluetooth/smp.c reason = smp_cmd_pairing_random(conn, skb); conn 2938 net/bluetooth/smp.c reason = smp_cmd_encrypt_info(conn, skb); conn 2942 net/bluetooth/smp.c reason = smp_cmd_master_ident(conn, skb); conn 2946 net/bluetooth/smp.c reason = smp_cmd_ident_info(conn, skb); conn 2950 net/bluetooth/smp.c reason = smp_cmd_ident_addr_info(conn, skb); conn 2954 net/bluetooth/smp.c reason = smp_cmd_sign_info(conn, skb); conn 2958 net/bluetooth/smp.c reason = smp_cmd_public_key(conn, skb); conn 2962 net/bluetooth/smp.c reason = smp_cmd_dhkey_check(conn, skb); conn 2966 net/bluetooth/smp.c reason = smp_cmd_keypress_notify(conn, skb); conn 2978 net/bluetooth/smp.c smp_failure(conn, reason); conn 2993 net/bluetooth/smp.c struct l2cap_conn *conn = chan->conn; conn 2998 net/bluetooth/smp.c smp_chan_destroy(conn); conn 3000 net/bluetooth/smp.c conn->smp = NULL; conn 3006 net/bluetooth/smp.c struct l2cap_conn *conn = chan->conn; conn 3007 net/bluetooth/smp.c struct hci_conn *hcon = conn->hcon; conn 3044 net/bluetooth/smp.c if (!(conn->remote_fixed_chan & L2CAP_FC_SMP_BREDR)) conn 3051 net/bluetooth/smp.c smp = smp_chan_create(conn); conn 3067 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_PAIRING_REQ, sizeof(req), &req); conn 3074 net/bluetooth/smp.c struct l2cap_conn *conn = chan->conn; conn 3075 net/bluetooth/smp.c struct hci_conn *hcon = conn->hcon; conn 3097 net/bluetooth/smp.c struct l2cap_conn *conn = chan->conn; conn 3098 net/bluetooth/smp.c struct hci_conn *hcon = conn->hcon; conn 3108 net/bluetooth/smp.c conn->smp = chan; conn 3127 net/bluetooth/smp.c hci_disconnect(chan->conn->hcon, HCI_ERROR_AUTH_FAILURE); conn 189 net/bluetooth/smp.h int smp_user_confirm_reply(struct hci_conn *conn, u16 mgmt_op, __le32 passkey); conn 71 net/netfilter/nf_conncount.c static inline bool already_closed(const struct nf_conn *conn) conn 73 net/netfilter/nf_conncount.c if (nf_ct_protonum(conn) == IPPROTO_TCP) conn 74 net/netfilter/nf_conncount.c return conn->proto.tcp.state == TCP_CONNTRACK_TIME_WAIT || conn 75 net/netfilter/nf_conncount.c conn->proto.tcp.state == TCP_CONNTRACK_CLOSE; conn 86 net/netfilter/nf_conncount.c struct nf_conncount_tuple *conn) conn 91 net/netfilter/nf_conncount.c list_del(&conn->node); conn 93 net/netfilter/nf_conncount.c kmem_cache_free(conncount_conn_cachep, conn); conn 98 net/netfilter/nf_conncount.c struct nf_conncount_tuple *conn) conn 105 net/netfilter/nf_conncount.c found = nf_conntrack_find_get(net, &conn->zone, &conn->tuple); conn 108 net/netfilter/nf_conncount.c b = conn->jiffies32; conn 117 net/netfilter/nf_conncount.c if (conn->cpu == cpu || age >= 2) { conn 118 net/netfilter/nf_conncount.c conn_free(list, conn); conn 131 net/netfilter/nf_conncount.c struct nf_conncount_tuple *conn, *conn_n; conn 136 net/netfilter/nf_conncount.c list_for_each_entry_safe(conn, conn_n, &list->head, node) { conn 140 net/netfilter/nf_conncount.c found = find_or_evict(net, list, conn); conn 144 net/netfilter/nf_conncount.c if (nf_ct_tuple_equal(&conn->tuple, tuple) && conn 145 net/netfilter/nf_conncount.c nf_ct_zone_id(&conn->zone, conn->zone.dir) == conn 156 net/netfilter/nf_conncount.c if (nf_ct_tuple_equal(&conn->tuple, tuple) && conn 172 net/netfilter/nf_conncount.c conn_free(list, conn); conn 183 net/netfilter/nf_conncount.c conn = kmem_cache_alloc(conncount_conn_cachep, GFP_ATOMIC); conn 184 net/netfilter/nf_conncount.c if (conn == NULL) conn 187 net/netfilter/nf_conncount.c conn->tuple = *tuple; conn 188 net/netfilter/nf_conncount.c conn->zone = *zone; conn 189 net/netfilter/nf_conncount.c conn->cpu = raw_smp_processor_id(); conn 190 net/netfilter/nf_conncount.c conn->jiffies32 = (u32)jiffies; conn 191 net/netfilter/nf_conncount.c list_add_tail(&conn->node, &list->head); conn 225 net/netfilter/nf_conncount.c struct nf_conncount_tuple *conn, *conn_n; conn 234 net/netfilter/nf_conncount.c list_for_each_entry_safe(conn, conn_n, &list->head, node) { conn 235 net/netfilter/nf_conncount.c found = find_or_evict(net, list, conn); conn 249 net/netfilter/nf_conncount.c conn_free(list, conn); conn 311 net/netfilter/nf_conncount.c struct nf_conncount_tuple *conn; conn 362 net/netfilter/nf_conncount.c conn = kmem_cache_alloc(conncount_conn_cachep, GFP_ATOMIC); conn 363 net/netfilter/nf_conncount.c if (conn == NULL) { conn 368 net/netfilter/nf_conncount.c conn->tuple = *tuple; conn 369 net/netfilter/nf_conncount.c conn->zone = *zone; conn 373 net/netfilter/nf_conncount.c list_add(&conn->node, &rbconn->list.head); conn 552 net/netfilter/nf_conncount.c struct nf_conncount_tuple *conn, *conn_n; conn 554 net/netfilter/nf_conncount.c list_for_each_entry_safe(conn, conn_n, &list->head, node) conn 555 net/netfilter/nf_conncount.c kmem_cache_free(conncount_conn_cachep, conn); conn 186 net/rds/cong.c void rds_cong_add_conn(struct rds_connection *conn) conn 190 net/rds/cong.c rdsdebug("conn %p now on map %p\n", conn, conn->c_lcong); conn 192 net/rds/cong.c list_add_tail(&conn->c_map_item, &conn->c_lcong->m_conn_list); conn 196 net/rds/cong.c void rds_cong_remove_conn(struct rds_connection *conn) conn 200 net/rds/cong.c rdsdebug("removing conn %p from map %p\n", conn, conn->c_lcong); conn 202 net/rds/cong.c list_del_init(&conn->c_map_item); conn 206 net/rds/cong.c int rds_cong_get_maps(struct rds_connection *conn) conn 208 net/rds/cong.c conn->c_lcong = rds_cong_from_addr(&conn->c_laddr); conn 209 net/rds/cong.c conn->c_fcong = rds_cong_from_addr(&conn->c_faddr); conn 211 net/rds/cong.c if (!(conn->c_lcong && conn->c_fcong)) conn 219 net/rds/cong.c struct rds_connection *conn; conn 224 net/rds/cong.c list_for_each_entry(conn, &map->m_conn_list, c_map_item) { conn 225 net/rds/cong.c struct rds_conn_path *cp = &conn->c_path[0]; conn 228 net/rds/cong.c if (!test_and_set_bit(0, &conn->c_map_queued) && conn 418 net/rds/cong.c struct rds_message *rds_cong_update_alloc(struct rds_connection *conn) conn 420 net/rds/cong.c struct rds_cong_map *map = conn->c_lcong; conn 89 net/rds/connection.c struct rds_connection *conn, *ret = NULL; conn 91 net/rds/connection.c hlist_for_each_entry_rcu(conn, head, c_hash_node) { conn 92 net/rds/connection.c if (ipv6_addr_equal(&conn->c_faddr, faddr) && conn 93 net/rds/connection.c ipv6_addr_equal(&conn->c_laddr, laddr) && conn 94 net/rds/connection.c conn->c_trans == trans && conn 95 net/rds/connection.c conn->c_tos == tos && conn 96 net/rds/connection.c net == rds_conn_net(conn) && conn 97 net/rds/connection.c conn->c_dev_if == dev_if) { conn 98 net/rds/connection.c ret = conn; conn 115 net/rds/connection.c struct rds_connection *conn = cp->cp_conn; conn 118 net/rds/connection.c &conn->c_laddr, &conn->c_faddr); conn 130 net/rds/connection.c static void __rds_conn_path_init(struct rds_connection *conn, conn 139 net/rds/connection.c cp->cp_conn = conn; conn 168 net/rds/connection.c struct rds_connection *conn, *parent = NULL; conn 176 net/rds/connection.c conn = rds_conn_lookup(net, head, laddr, faddr, trans, tos, dev_if); conn 177 net/rds/connection.c if (conn && conn 178 net/rds/connection.c conn->c_loopback && conn 179 net/rds/connection.c conn->c_trans != &rds_loop_transport && conn 186 net/rds/connection.c parent = conn; conn 187 net/rds/connection.c conn = parent->c_passive; conn 190 net/rds/connection.c if (conn) conn 193 net/rds/connection.c conn = kmem_cache_zalloc(rds_conn_slab, gfp); conn 194 net/rds/connection.c if (!conn) { conn 195 net/rds/connection.c conn = ERR_PTR(-ENOMEM); conn 198 net/rds/connection.c conn->c_path = kcalloc(npaths, sizeof(struct rds_conn_path), gfp); conn 199 net/rds/connection.c if (!conn->c_path) { conn 200 net/rds/connection.c kmem_cache_free(rds_conn_slab, conn); conn 201 net/rds/connection.c conn = ERR_PTR(-ENOMEM); conn 205 net/rds/connection.c INIT_HLIST_NODE(&conn->c_hash_node); conn 206 net/rds/connection.c conn->c_laddr = *laddr; conn 207 net/rds/connection.c conn->c_isv6 = !ipv6_addr_v4mapped(laddr); conn 208 net/rds/connection.c conn->c_faddr = *faddr; conn 209 net/rds/connection.c conn->c_dev_if = dev_if; conn 210 net/rds/connection.c conn->c_tos = tos; conn 219 net/rds/connection.c conn->c_bound_if = dev_if; conn 222 net/rds/connection.c conn->c_bound_if = 0; conn 224 net/rds/connection.c rds_conn_net_set(conn, net); conn 226 net/rds/connection.c ret = rds_cong_get_maps(conn); conn 228 net/rds/connection.c kfree(conn->c_path); conn 229 net/rds/connection.c kmem_cache_free(rds_conn_slab, conn); conn 230 net/rds/connection.c conn = ERR_PTR(ret); conn 239 net/rds/connection.c loop_trans = rds_trans_get_preferred(net, faddr, conn->c_dev_if); conn 242 net/rds/connection.c conn->c_loopback = 1; conn 252 net/rds/connection.c conn->c_trans = trans; conn 254 net/rds/connection.c init_waitqueue_head(&conn->c_hs_waitq); conn 256 net/rds/connection.c __rds_conn_path_init(conn, &conn->c_path[i], conn 258 net/rds/connection.c conn->c_path[i].cp_index = i; conn 261 net/rds/connection.c if (rds_destroy_pending(conn)) conn 264 net/rds/connection.c ret = trans->conn_alloc(conn, GFP_ATOMIC); conn 267 net/rds/connection.c kfree(conn->c_path); conn 268 net/rds/connection.c kmem_cache_free(rds_conn_slab, conn); conn 269 net/rds/connection.c conn = ERR_PTR(ret); conn 274 net/rds/connection.c conn, laddr, faddr, conn 289 net/rds/connection.c trans->conn_free(conn->c_path[0].cp_transport_data); conn 290 net/rds/connection.c kfree(conn->c_path); conn 291 net/rds/connection.c kmem_cache_free(rds_conn_slab, conn); conn 292 net/rds/connection.c conn = parent->c_passive; conn 294 net/rds/connection.c parent->c_passive = conn; conn 295 net/rds/connection.c rds_cong_add_conn(conn); conn 309 net/rds/connection.c cp = &conn->c_path[i]; conn 317 net/rds/connection.c kfree(conn->c_path); conn 318 net/rds/connection.c kmem_cache_free(rds_conn_slab, conn); conn 319 net/rds/connection.c conn = found; conn 321 net/rds/connection.c conn->c_my_gen_num = rds_gen_num; conn 322 net/rds/connection.c conn->c_peer_gen_num = 0; conn 323 net/rds/connection.c hlist_add_head_rcu(&conn->c_hash_node, head); conn 324 net/rds/connection.c rds_cong_add_conn(conn); conn 332 net/rds/connection.c return conn; conn 357 net/rds/connection.c struct rds_connection *conn = cp->cp_conn; conn 386 net/rds/connection.c conn->c_trans->conn_path_shutdown(cp); conn 418 net/rds/connection.c if (!hlist_unhashed(&conn->c_hash_node)) { conn 469 net/rds/connection.c void rds_conn_destroy(struct rds_connection *conn) conn 474 net/rds/connection.c int npaths = (conn->c_trans->t_mp_capable ? RDS_MPATH_WORKERS : 1); conn 477 net/rds/connection.c "%pI4\n", conn, &conn->c_laddr, conn 478 net/rds/connection.c &conn->c_faddr); conn 482 net/rds/connection.c hlist_del_init_rcu(&conn->c_hash_node); conn 488 net/rds/connection.c cp = &conn->c_path[i]; conn 498 net/rds/connection.c rds_cong_remove_conn(conn); conn 500 net/rds/connection.c kfree(conn->c_path); conn 501 net/rds/connection.c kmem_cache_free(rds_conn_slab, conn); conn 529 net/rds/connection.c struct rds_connection *conn; conn 545 net/rds/connection.c hlist_for_each_entry_rcu(conn, head, c_hash_node) { conn 549 net/rds/connection.c if (!isv6 && conn->c_isv6) conn 552 net/rds/connection.c npaths = (conn->c_trans->t_mp_capable ? conn 556 net/rds/connection.c cp = &conn->c_path[j]; conn 570 net/rds/connection.c &conn->c_laddr, conn 571 net/rds/connection.c &conn->c_faddr, conn 648 net/rds/connection.c struct rds_connection *conn; conn 658 net/rds/connection.c hlist_for_each_entry_rcu(conn, head, c_hash_node) { conn 661 net/rds/connection.c if (!visitor(conn, buffer)) conn 686 net/rds/connection.c struct rds_connection *conn; conn 696 net/rds/connection.c hlist_for_each_entry_rcu(conn, head, c_hash_node) { conn 707 net/rds/connection.c cp = conn->c_path; conn 730 net/rds/connection.c struct rds_connection *conn = cp->cp_conn; conn 732 net/rds/connection.c if (conn->c_isv6) conn 737 net/rds/connection.c cinfo->laddr = conn->c_laddr.s6_addr32[3]; conn 738 net/rds/connection.c cinfo->faddr = conn->c_faddr.s6_addr32[3]; conn 739 net/rds/connection.c cinfo->tos = conn->c_tos; conn 740 net/rds/connection.c strncpy(cinfo->transport, conn->c_trans->t_name, conn 760 net/rds/connection.c struct rds_connection *conn = cp->cp_conn; conn 764 net/rds/connection.c cinfo6->laddr = conn->c_laddr; conn 765 net/rds/connection.c cinfo6->faddr = conn->c_faddr; conn 766 net/rds/connection.c strncpy(cinfo6->transport, conn->c_trans->t_name, conn 883 net/rds/connection.c void rds_conn_drop(struct rds_connection *conn) conn 885 net/rds/connection.c WARN_ON(conn->c_trans->t_mp_capable); conn 886 net/rds/connection.c rds_conn_path_drop(&conn->c_path[0], false); conn 908 net/rds/connection.c void rds_conn_connect_if_down(struct rds_connection *conn) conn 910 net/rds/connection.c WARN_ON(conn->c_trans->t_mp_capable); conn 911 net/rds/connection.c rds_conn_path_connect_if_down(&conn->c_path[0]); conn 79 net/rds/ib.c rds_conn_connect_if_down(ic->conn); conn 90 net/rds/ib.c rds_conn_path_drop(&ic->conn->c_path[0], true); conn 290 net/rds/ib.c static int rds_ib_conn_info_visitor(struct rds_connection *conn, conn 294 net/rds/ib.c struct rds_ib_connection *ic = conn->c_transport_data; conn 297 net/rds/ib.c if (conn->c_trans != &rds_ib_transport) conn 299 net/rds/ib.c if (conn->c_isv6) conn 302 net/rds/ib.c iinfo->src_addr = conn->c_laddr.s6_addr32[3]; conn 303 net/rds/ib.c iinfo->dst_addr = conn->c_faddr.s6_addr32[3]; conn 305 net/rds/ib.c iinfo->tos = conn->c_tos; conn 311 net/rds/ib.c if (rds_conn_state(conn) == RDS_CONN_UP) { conn 329 net/rds/ib.c static int rds6_ib_conn_info_visitor(struct rds_connection *conn, conn 333 net/rds/ib.c struct rds_ib_connection *ic = conn->c_transport_data; conn 336 net/rds/ib.c if (conn->c_trans != &rds_ib_transport) conn 339 net/rds/ib.c iinfo6->src_addr = conn->c_laddr; conn 340 net/rds/ib.c iinfo6->dst_addr = conn->c_faddr; conn 342 net/rds/ib.c iinfo6->tos = conn->c_tos; conn 349 net/rds/ib.c if (rds_conn_state(conn) == RDS_CONN_UP) { conn 500 net/rds/ib.c static bool rds_ib_is_unloading(struct rds_connection *conn) conn 502 net/rds/ib.c struct rds_conn_path *cp = &conn->c_path[0]; conn 147 net/rds/ib.h struct rds_connection *conn; conn 370 net/rds/ib.h int rds_ib_conn_alloc(struct rds_connection *conn, gfp_t gfp); conn 378 net/rds/ib.h void __rds_ib_conn_error(struct rds_connection *conn, const char *, ...); conn 382 net/rds/ib.h void rds_ib_cm_connect_complete(struct rds_connection *conn, conn 386 net/rds/ib.h #define rds_ib_conn_error(conn, fmt...) \ conn 387 net/rds/ib.h __rds_ib_conn_error(conn, KERN_WARNING "RDS/IB: " fmt) conn 392 net/rds/ib.h void rds_ib_add_conn(struct rds_ib_device *rds_ibdev, struct rds_connection *conn); conn 393 net/rds/ib.h void rds_ib_remove_conn(struct rds_ib_device *rds_ibdev, struct rds_connection *conn); conn 400 net/rds/ib.h int rds_ib_recv_path(struct rds_conn_path *conn); conn 403 net/rds/ib.h void rds_ib_recv_refill(struct rds_connection *conn, int prefill, gfp_t gfp); conn 431 net/rds/ib.h int rds_ib_xmit(struct rds_connection *conn, struct rds_message *rm, conn 436 net/rds/ib.h int rds_ib_xmit_rdma(struct rds_connection *conn, struct rm_rdma_op *op); conn 437 net/rds/ib.h void rds_ib_send_add_credits(struct rds_connection *conn, unsigned int credits); conn 438 net/rds/ib.h void rds_ib_advertise_credits(struct rds_connection *conn, unsigned int posted); conn 441 net/rds/ib.h int rds_ib_xmit_atomic(struct rds_connection *conn, struct rm_atomic_op *op); conn 48 net/rds/ib_cm.c static void rds_ib_set_protocol(struct rds_connection *conn, unsigned int version) conn 50 net/rds/ib_cm.c conn->c_version = version; conn 56 net/rds/ib_cm.c static void rds_ib_set_flow_control(struct rds_connection *conn, u32 credits) conn 58 net/rds/ib_cm.c struct rds_ib_connection *ic = conn->c_transport_data; conn 63 net/rds/ib_cm.c rds_ib_send_add_credits(conn, credits); conn 98 net/rds/ib_cm.c void rds_ib_cm_connect_complete(struct rds_connection *conn, struct rdma_cm_event *event) conn 100 net/rds/ib_cm.c struct rds_ib_connection *ic = conn->c_transport_data; conn 109 net/rds/ib_cm.c dp = event->param.conn.private_data; conn 110 net/rds/ib_cm.c if (conn->c_isv6) { conn 111 net/rds/ib_cm.c if (event->param.conn.private_data_len >= conn 123 net/rds/ib_cm.c } else if (event->param.conn.private_data_len >= conn 133 net/rds/ib_cm.c rds_ib_set_protocol(conn, RDS_PROTOCOL(major, minor)); conn 134 net/rds/ib_cm.c rds_ib_set_flow_control(conn, be32_to_cpu(credit)); conn 137 net/rds/ib_cm.c if (conn->c_version < RDS_PROTOCOL_VERSION) { conn 138 net/rds/ib_cm.c if (conn->c_version != RDS_PROTOCOL_COMPAT_VERSION) { conn 140 net/rds/ib_cm.c &conn->c_laddr, &conn->c_faddr, conn 141 net/rds/ib_cm.c RDS_PROTOCOL_MAJOR(conn->c_version), conn 142 net/rds/ib_cm.c RDS_PROTOCOL_MINOR(conn->c_version)); conn 143 net/rds/ib_cm.c rds_conn_destroy(conn); conn 150 net/rds/ib_cm.c &conn->c_laddr, &conn->c_faddr, conn->c_tos, conn 151 net/rds/ib_cm.c RDS_PROTOCOL_MAJOR(conn->c_version), conn 152 net/rds/ib_cm.c RDS_PROTOCOL_MINOR(conn->c_version), conn 168 net/rds/ib_cm.c rds_ib_recv_refill(conn, 1, GFP_KERNEL); conn 179 net/rds/ib_cm.c err = rds_ib_update_ipaddr(ic->rds_ibdev, &conn->c_laddr); conn 188 net/rds/ib_cm.c rds_send_drop_acked(conn, be64_to_cpu(ack_seq), conn 192 net/rds/ib_cm.c conn->c_proposed_version = conn->c_version; conn 193 net/rds/ib_cm.c rds_connect_complete(conn); conn 196 net/rds/ib_cm.c static void rds_ib_cm_fill_conn_param(struct rds_connection *conn, conn 204 net/rds/ib_cm.c struct rds_ib_connection *ic = conn->c_transport_data; conn 219 net/rds/ib_cm.c dp->ricp_v6.dp_saddr = conn->c_laddr; conn 220 net/rds/ib_cm.c dp->ricp_v6.dp_daddr = conn->c_faddr; conn 229 net/rds/ib_cm.c dp->ricp_v6.dp_cmn.ricpc_dp_toss = conn->c_tos; conn 234 net/rds/ib_cm.c dp->ricp_v4.dp_saddr = conn->c_laddr.s6_addr32[3]; conn 235 net/rds/ib_cm.c dp->ricp_v4.dp_daddr = conn->c_faddr.s6_addr32[3]; conn 244 net/rds/ib_cm.c dp->ricp_v4.dp_cmn.ricpc_dp_toss = conn->c_tos; conn 282 net/rds/ib_cm.c struct rds_connection *conn = context; conn 283 net/rds/ib_cm.c struct rds_ib_connection *ic = conn->c_transport_data; conn 285 net/rds/ib_cm.c rdsdebug("conn %p cq %p\n", conn, cq); conn 318 net/rds/ib_cm.c struct rds_connection *conn = ic->conn; conn 330 net/rds/ib_cm.c if (rds_conn_up(conn) && conn 331 net/rds/ib_cm.c (!test_bit(RDS_LL_SEND_FULL, &conn->c_flags) || conn 332 net/rds/ib_cm.c test_bit(0, &conn->c_map_queued))) conn 333 net/rds/ib_cm.c rds_send_xmit(&ic->conn->c_path[0]); conn 358 net/rds/ib_cm.c struct rds_connection *conn = ic->conn; conn 363 net/rds/ib_cm.c rds_conn_drop(conn); conn 379 net/rds/ib_cm.c rds_send_drop_acked(conn, state.ack_recv, NULL); conn 383 net/rds/ib_cm.c if (rds_conn_up(conn)) conn 389 net/rds/ib_cm.c struct rds_connection *conn = data; conn 390 net/rds/ib_cm.c struct rds_ib_connection *ic = conn->c_transport_data; conn 392 net/rds/ib_cm.c rdsdebug("conn %p ic %p event %u (%s)\n", conn, ic, event->event, conn 402 net/rds/ib_cm.c &conn->c_laddr, &conn->c_faddr); conn 403 net/rds/ib_cm.c rds_conn_drop(conn); conn 410 net/rds/ib_cm.c struct rds_connection *conn = context; conn 411 net/rds/ib_cm.c struct rds_ib_connection *ic = conn->c_transport_data; conn 413 net/rds/ib_cm.c rdsdebug("conn %p cq %p\n", conn, cq); conn 446 net/rds/ib_cm.c static int rds_ib_setup_qp(struct rds_connection *conn) conn 448 net/rds/ib_cm.c struct rds_ib_connection *ic = conn->c_transport_data; conn 471 net/rds/ib_cm.c rds_ib_add_conn(rds_ibdev, conn); conn 490 net/rds/ib_cm.c rds_ib_cq_event_handler, conn, conn 504 net/rds/ib_cm.c rds_ib_cq_event_handler, conn, conn 529 net/rds/ib_cm.c attr.qp_context = conn; conn 598 net/rds/ib_cm.c rdsdebug("conn %p pd %p cq %p %p\n", conn, ic->i_pd, conn 625 net/rds/ib_cm.c rds_ib_remove_conn(rds_ibdev, conn); conn 634 net/rds/ib_cm.c const union rds_ib_conn_priv *dp = event->param.conn.private_data; conn 651 net/rds/ib_cm.c if (!event->param.conn.private_data_len) { conn 670 net/rds/ib_cm.c if (event->param.conn.private_data_len < data_len || major == 0) conn 727 net/rds/ib_cm.c struct rds_connection *conn = NULL; conn 748 net/rds/ib_cm.c dp = event->param.conn.private_data; conn 794 net/rds/ib_cm.c conn = rds_conn_create(&init_net, daddr6, saddr6, conn 797 net/rds/ib_cm.c if (IS_ERR(conn)) { conn 798 net/rds/ib_cm.c rdsdebug("rds_conn_create failed (%ld)\n", PTR_ERR(conn)); conn 799 net/rds/ib_cm.c conn = NULL; conn 810 net/rds/ib_cm.c mutex_lock(&conn->c_cm_lock); conn 811 net/rds/ib_cm.c if (!rds_conn_transition(conn, RDS_CONN_DOWN, RDS_CONN_CONNECTING)) { conn 812 net/rds/ib_cm.c if (rds_conn_state(conn) == RDS_CONN_UP) { conn 814 net/rds/ib_cm.c rds_conn_drop(conn); conn 817 net/rds/ib_cm.c if (rds_conn_state(conn) == RDS_CONN_CONNECTING) { conn 824 net/rds/ib_cm.c ic = conn->c_transport_data; conn 826 net/rds/ib_cm.c rds_ib_set_protocol(conn, version); conn 827 net/rds/ib_cm.c rds_ib_set_flow_control(conn, be32_to_cpu(dp_cmn->ricpc_credit)); conn 832 net/rds/ib_cm.c rds_send_drop_acked(conn, be64_to_cpu(dp_cmn->ricpc_ack_seq), conn 839 net/rds/ib_cm.c cm_id->context = conn; conn 845 net/rds/ib_cm.c err = rds_ib_setup_qp(conn); conn 847 net/rds/ib_cm.c rds_ib_conn_error(conn, "rds_ib_setup_qp failed (%d)\n", err); conn 851 net/rds/ib_cm.c rds_ib_cm_fill_conn_param(conn, &conn_param, &dp_rep, version, conn 852 net/rds/ib_cm.c event->param.conn.responder_resources, conn 853 net/rds/ib_cm.c event->param.conn.initiator_depth, isv6); conn 857 net/rds/ib_cm.c rds_ib_conn_error(conn, "rdma_accept failed\n"); conn 860 net/rds/ib_cm.c if (conn) conn 861 net/rds/ib_cm.c mutex_unlock(&conn->c_cm_lock); conn 870 net/rds/ib_cm.c struct rds_connection *conn = cm_id->context; conn 871 net/rds/ib_cm.c struct rds_ib_connection *ic = conn->c_transport_data; conn 878 net/rds/ib_cm.c rds_ib_set_protocol(conn, RDS_PROTOCOL_4_1); conn 881 net/rds/ib_cm.c ret = rds_ib_setup_qp(conn); conn 883 net/rds/ib_cm.c rds_ib_conn_error(conn, "rds_ib_setup_qp failed (%d)\n", ret); conn 887 net/rds/ib_cm.c rds_ib_cm_fill_conn_param(conn, &conn_param, &dp, conn 888 net/rds/ib_cm.c conn->c_proposed_version, conn 892 net/rds/ib_cm.c rds_ib_conn_error(conn, "rdma_connect failed (%d)\n", ret); conn 908 net/rds/ib_cm.c struct rds_connection *conn = cp->cp_conn; conn 914 net/rds/ib_cm.c ic = conn->c_transport_data; conn 919 net/rds/ib_cm.c if (conn->c_isv6) conn 924 net/rds/ib_cm.c ic->i_cm_id = rdma_create_id(&init_net, handler, conn, conn 933 net/rds/ib_cm.c rdsdebug("created cm id %p for conn %p\n", ic->i_cm_id, conn); conn 935 net/rds/ib_cm.c if (ipv6_addr_v4mapped(&conn->c_faddr)) { conn 940 net/rds/ib_cm.c sin->sin_addr.s_addr = conn->c_laddr.s6_addr32[3]; conn 945 net/rds/ib_cm.c sin->sin_addr.s_addr = conn->c_faddr.s6_addr32[3]; conn 952 net/rds/ib_cm.c sin6->sin6_addr = conn->c_laddr; conn 954 net/rds/ib_cm.c sin6->sin6_scope_id = conn->c_dev_if; conn 958 net/rds/ib_cm.c sin6->sin6_addr = conn->c_faddr; conn 960 net/rds/ib_cm.c sin6->sin6_scope_id = conn->c_dev_if; conn 984 net/rds/ib_cm.c struct rds_connection *conn = cp->cp_conn; conn 985 net/rds/ib_cm.c struct rds_ib_connection *ic = conn->c_transport_data; conn 1074 net/rds/ib_cm.c rds_ib_remove_conn(ic->rds_ibdev, conn); conn 1124 net/rds/ib_cm.c int rds_ib_conn_alloc(struct rds_connection *conn, gfp_t gfp) conn 1160 net/rds/ib_cm.c ic->conn = conn; conn 1161 net/rds/ib_cm.c conn->c_transport_data = ic; conn 1168 net/rds/ib_cm.c rdsdebug("conn %p conn ic %p\n", conn, conn->c_transport_data); conn 1203 net/rds/ib_cm.c __rds_ib_conn_error(struct rds_connection *conn, const char *fmt, ...) conn 1207 net/rds/ib_cm.c rds_conn_drop(conn); conn 329 net/rds/ib_frmr.c if (rds_conn_up(ic->conn)) conn 330 net/rds/ib_frmr.c rds_ib_conn_error(ic->conn, conn 332 net/rds/ib_frmr.c &ic->conn->c_laddr, conn 333 net/rds/ib_frmr.c &ic->conn->c_faddr, conn 125 net/rds/ib_mr.h struct rds_connection *conn); conn 119 net/rds/ib_rdma.c void rds_ib_add_conn(struct rds_ib_device *rds_ibdev, struct rds_connection *conn) conn 121 net/rds/ib_rdma.c struct rds_ib_connection *ic = conn->c_transport_data; conn 138 net/rds/ib_rdma.c void rds_ib_remove_conn(struct rds_ib_device *rds_ibdev, struct rds_connection *conn) conn 140 net/rds/ib_rdma.c struct rds_ib_connection *ic = conn->c_transport_data; conn 169 net/rds/ib_rdma.c rds_conn_destroy(ic->conn); conn 531 net/rds/ib_rdma.c struct rds_connection *conn) conn 544 net/rds/ib_rdma.c if (conn) conn 545 net/rds/ib_rdma.c ic = conn->c_transport_data; conn 270 net/rds/ib_recv.c rds_inc_init(&ibinc->ii_inc, ic->conn, &ic->conn->c_faddr); conn 307 net/rds/ib_recv.c static int rds_ib_recv_refill_one(struct rds_connection *conn, conn 310 net/rds/ib_recv.c struct rds_ib_connection *ic = conn->c_transport_data; conn 358 net/rds/ib_recv.c static int acquire_refill(struct rds_connection *conn) conn 360 net/rds/ib_recv.c return test_and_set_bit(RDS_RECV_REFILL, &conn->c_flags) == 0; conn 363 net/rds/ib_recv.c static void release_refill(struct rds_connection *conn) conn 365 net/rds/ib_recv.c clear_bit(RDS_RECV_REFILL, &conn->c_flags); conn 372 net/rds/ib_recv.c if (waitqueue_active(&conn->c_waitq)) conn 373 net/rds/ib_recv.c wake_up_all(&conn->c_waitq); conn 381 net/rds/ib_recv.c void rds_ib_recv_refill(struct rds_connection *conn, int prefill, gfp_t gfp) conn 383 net/rds/ib_recv.c struct rds_ib_connection *ic = conn->c_transport_data; conn 395 net/rds/ib_recv.c if (!acquire_refill(conn)) conn 398 net/rds/ib_recv.c while ((prefill || rds_conn_up(conn)) && conn 407 net/rds/ib_recv.c ret = rds_ib_recv_refill_one(conn, recv, gfp); conn 420 net/rds/ib_recv.c rds_ib_conn_error(conn, "recv post on " conn 422 net/rds/ib_recv.c "reconnecting\n", &conn->c_faddr, conn 437 net/rds/ib_recv.c rds_ib_advertise_credits(conn, posted); conn 442 net/rds/ib_recv.c release_refill(conn); conn 454 net/rds/ib_recv.c if (rds_conn_up(conn) && conn 458 net/rds/ib_recv.c queue_delayed_work(rds_wq, &conn->c_recv_w, 1); conn 681 net/rds/ib_recv.c rds_ib_conn_error(ic->conn, "sending ack failed\n"); conn 776 net/rds/ib_recv.c static void rds_ib_cong_recv(struct rds_connection *conn, conn 793 net/rds/ib_recv.c map = conn->c_fcong; conn 841 net/rds/ib_recv.c static void rds_ib_process_recv(struct rds_connection *conn, conn 845 net/rds/ib_recv.c struct rds_ib_connection *ic = conn->c_transport_data; conn 855 net/rds/ib_recv.c rds_ib_conn_error(conn, "incoming message " conn 859 net/rds/ib_recv.c &conn->c_faddr); conn 868 net/rds/ib_recv.c rds_ib_conn_error(conn, "incoming message " conn 871 net/rds/ib_recv.c &conn->c_faddr); conn 882 net/rds/ib_recv.c rds_ib_send_add_credits(conn, ihdr->h_credit); conn 934 net/rds/ib_recv.c rds_ib_conn_error(conn, conn 950 net/rds/ib_recv.c rds_ib_cong_recv(conn, ibinc); conn 952 net/rds/ib_recv.c rds_recv_incoming(conn, &conn->c_faddr, &conn->c_laddr, conn 974 net/rds/ib_recv.c struct rds_connection *conn = ic->conn; conn 992 net/rds/ib_recv.c rds_ib_process_recv(conn, recv, wc->byte_len, state); conn 995 net/rds/ib_recv.c if (rds_conn_up(conn) || rds_conn_connecting(conn)) conn 996 net/rds/ib_recv.c rds_ib_conn_error(conn, "recv completion on <%pI6c,%pI6c, %d> had status %u (%s), disconnecting and reconnecting\n", conn 997 net/rds/ib_recv.c &conn->c_laddr, &conn->c_faddr, conn 998 net/rds/ib_recv.c conn->c_tos, wc->status, conn 1022 net/rds/ib_recv.c rds_ib_recv_refill(conn, 0, GFP_NOWAIT); conn 1029 net/rds/ib_recv.c struct rds_connection *conn = cp->cp_conn; conn 1030 net/rds/ib_recv.c struct rds_ib_connection *ic = conn->c_transport_data; conn 1032 net/rds/ib_recv.c rdsdebug("conn %p\n", conn); conn 1033 net/rds/ib_recv.c if (rds_conn_up(conn)) { conn 1035 net/rds/ib_recv.c rds_ib_recv_refill(conn, 0, GFP_KERNEL); conn 244 net/rds/ib_send.c struct rds_connection *conn = ic->conn; conn 297 net/rds/ib_send.c if (test_and_clear_bit(RDS_LL_SEND_FULL, &conn->c_flags) || conn 298 net/rds/ib_send.c test_bit(0, &conn->c_map_queued)) conn 299 net/rds/ib_send.c queue_delayed_work(rds_wq, &conn->c_send_w, 0); conn 302 net/rds/ib_send.c if (wc->status != IB_WC_SUCCESS && rds_conn_up(conn)) { conn 303 net/rds/ib_send.c rds_ib_conn_error(conn, "send completion on <%pI6c,%pI6c,%d> had status %u (%s), disconnecting and reconnecting\n", conn 304 net/rds/ib_send.c &conn->c_laddr, &conn->c_faddr, conn 305 net/rds/ib_send.c conn->c_tos, wc->status, conn 378 net/rds/ib_send.c struct rds_connection *conn = ic->i_cm_id->context; conn 381 net/rds/ib_send.c set_bit(RDS_LL_SEND_FULL, &conn->c_flags); conn 407 net/rds/ib_send.c void rds_ib_send_add_credits(struct rds_connection *conn, unsigned int credits) conn 409 net/rds/ib_send.c struct rds_ib_connection *ic = conn->c_transport_data; conn 417 net/rds/ib_send.c test_bit(RDS_LL_SEND_FULL, &conn->c_flags) ? ", ll_send_full" : ""); conn 420 net/rds/ib_send.c if (test_and_clear_bit(RDS_LL_SEND_FULL, &conn->c_flags)) conn 421 net/rds/ib_send.c queue_delayed_work(rds_wq, &conn->c_send_w, 0); conn 428 net/rds/ib_send.c void rds_ib_advertise_credits(struct rds_connection *conn, unsigned int posted) conn 430 net/rds/ib_send.c struct rds_ib_connection *ic = conn->c_transport_data; conn 483 net/rds/ib_send.c int rds_ib_xmit(struct rds_connection *conn, struct rds_message *rm, conn 486 net/rds/ib_send.c struct rds_ib_connection *ic = conn->c_transport_data; conn 509 net/rds/ib_send.c if (conn->c_loopback conn 511 net/rds/ib_send.c rds_cong_map_updated(conn->c_fcong, ~(u64) 0); conn 525 net/rds/ib_send.c set_bit(RDS_LL_SEND_FULL, &conn->c_flags); conn 540 net/rds/ib_send.c set_bit(RDS_LL_SEND_FULL, &conn->c_flags); conn 717 net/rds/ib_send.c rds_ib_send_add_credits(conn, credit_alloc - i); conn 730 net/rds/ib_send.c "returned %d\n", &conn->c_faddr, ret); conn 738 net/rds/ib_send.c rds_ib_conn_error(ic->conn, "ib_post_send failed\n"); conn 753 net/rds/ib_send.c int rds_ib_xmit_atomic(struct rds_connection *conn, struct rm_atomic_op *op) conn 755 net/rds/ib_send.c struct rds_ib_connection *ic = conn->c_transport_data; conn 824 net/rds/ib_send.c "returned %d\n", &conn->c_faddr, ret); conn 839 net/rds/ib_send.c int rds_ib_xmit_rdma(struct rds_connection *conn, struct rm_rdma_op *op) conn 841 net/rds/ib_send.c struct rds_ib_connection *ic = conn->c_transport_data; conn 965 net/rds/ib_send.c "returned %d\n", &conn->c_faddr, ret); conn 983 net/rds/ib_send.c struct rds_connection *conn = cp->cp_conn; conn 984 net/rds/ib_send.c struct rds_ib_connection *ic = conn->c_transport_data; conn 53 net/rds/loop.c static bool rds_loop_is_unloading(struct rds_connection *conn) conn 75 net/rds/loop.c static int rds_loop_xmit(struct rds_connection *conn, struct rds_message *rm, conn 85 net/rds/loop.c rds_cong_map_updated(conn->c_fcong, ~(u64) 0); conn 86 net/rds/loop.c ret = min_t(int, ret, sgp->length - conn->c_xmit_data_off); conn 92 net/rds/loop.c rds_inc_init(&rm->m_inc, conn, &conn->c_laddr); conn 96 net/rds/loop.c rds_recv_incoming(conn, &conn->c_laddr, &conn->c_faddr, &rm->m_inc, conn 99 net/rds/loop.c rds_send_drop_acked(conn, be64_to_cpu(rm->m_inc.i_hdr.h_sequence), conn 126 net/rds/loop.c struct rds_connection *conn; conn 135 net/rds/loop.c static int rds_loop_conn_alloc(struct rds_connection *conn, gfp_t gfp) conn 145 net/rds/loop.c lc->conn = conn; conn 146 net/rds/loop.c conn->c_transport_data = lc; conn 191 net/rds/loop.c WARN_ON(lc->conn->c_passive); conn 192 net/rds/loop.c rds_conn_destroy(lc->conn); conn 203 net/rds/loop.c struct net *c_net = read_pnet(&lc->conn->c_net); conn 212 net/rds/loop.c WARN_ON(lc->conn->c_passive); conn 213 net/rds/loop.c rds_conn_destroy(lc->conn); conn 54 net/rds/rdma_transport.c struct rds_connection *conn = cm_id->context; conn 60 net/rds/rdma_transport.c rdsdebug("conn %p id %p handling event %u (%s)\n", conn, cm_id, conn 68 net/rds/rdma_transport.c if (conn) { conn 69 net/rds/rdma_transport.c mutex_lock(&conn->c_cm_lock); conn 74 net/rds/rdma_transport.c if (rds_conn_state(conn) == RDS_CONN_DISCONNECTING) { conn 89 net/rds/rdma_transport.c rdma_set_service_type(cm_id, conn->c_tos); conn 99 net/rds/rdma_transport.c if (conn) { conn 102 net/rds/rdma_transport.c ibic = conn->c_transport_data; conn 105 net/rds/rdma_transport.c TOS_TO_SL(conn->c_tos); conn 108 net/rds/rdma_transport.c rds_conn_drop(conn); conn 114 net/rds/rdma_transport.c if (conn) conn 115 net/rds/rdma_transport.c trans->cm_connect_complete(conn, event); conn 119 net/rds/rdma_transport.c if (!conn) conn 126 net/rds/rdma_transport.c &conn->c_laddr, &conn->c_faddr); conn 128 net/rds/rdma_transport.c if (!conn->c_tos) conn 129 net/rds/rdma_transport.c conn->c_proposed_version = RDS_PROTOCOL_COMPAT_VERSION; conn 131 net/rds/rdma_transport.c rds_conn_drop(conn); conn 142 net/rds/rdma_transport.c if (conn) conn 143 net/rds/rdma_transport.c rds_conn_drop(conn); conn 147 net/rds/rdma_transport.c if (!conn) conn 150 net/rds/rdma_transport.c "%pI6c->%pI6c\n", &conn->c_laddr, conn 151 net/rds/rdma_transport.c &conn->c_faddr); conn 152 net/rds/rdma_transport.c rds_conn_drop(conn); conn 156 net/rds/rdma_transport.c if (conn) { conn 158 net/rds/rdma_transport.c &conn->c_laddr, &conn->c_faddr); conn 159 net/rds/rdma_transport.c rds_conn_drop(conn); conn 171 net/rds/rdma_transport.c if (conn) conn 172 net/rds/rdma_transport.c mutex_unlock(&conn->c_cm_lock); conn 20 net/rds/rdma_transport.h int rds_rdma_conn_connect(struct rds_connection *conn); conn 175 net/rds/rds.h struct net *rds_conn_net(struct rds_connection *conn) conn 177 net/rds/rds.h return read_pnet(&conn->c_net); conn 181 net/rds/rds.h void rds_conn_net_set(struct rds_connection *conn, struct net *net) conn 183 net/rds/rds.h write_pnet(&conn->c_net, net); conn 551 net/rds/rds.h int (*conn_alloc)(struct rds_connection *conn, gfp_t gfp); conn 554 net/rds/rds.h void (*conn_path_shutdown)(struct rds_conn_path *conn); conn 557 net/rds/rds.h int (*xmit)(struct rds_connection *conn, struct rds_message *rm, conn 559 net/rds/rds.h int (*xmit_rdma)(struct rds_connection *conn, struct rm_rdma_op *op); conn 560 net/rds/rds.h int (*xmit_atomic)(struct rds_connection *conn, struct rm_atomic_op *op); conn 568 net/rds/rds.h void (*cm_connect_complete)(struct rds_connection *conn, conn 576 net/rds/rds.h struct rds_connection *conn); conn 580 net/rds/rds.h bool (*t_unloading)(struct rds_connection *conn); conn 751 net/rds/rds.h int rds_cong_get_maps(struct rds_connection *conn); conn 752 net/rds/rds.h void rds_cong_add_conn(struct rds_connection *conn); conn 753 net/rds/rds.h void rds_cong_remove_conn(struct rds_connection *conn); conn 763 net/rds/rds.h struct rds_message *rds_cong_update_alloc(struct rds_connection *conn); conn 781 net/rds/rds.h void rds_conn_destroy(struct rds_connection *conn); conn 782 net/rds/rds.h void rds_conn_drop(struct rds_connection *conn); conn 784 net/rds/rds.h void rds_conn_connect_if_down(struct rds_connection *conn); conn 805 net/rds/rds.h rds_conn_transition(struct rds_connection *conn, int old, int new) conn 807 net/rds/rds.h WARN_ON(conn->c_trans->t_mp_capable); conn 808 net/rds/rds.h return rds_conn_path_transition(&conn->c_path[0], old, new); conn 818 net/rds/rds.h rds_conn_state(struct rds_connection *conn) conn 820 net/rds/rds.h WARN_ON(conn->c_trans->t_mp_capable); conn 821 net/rds/rds.h return rds_conn_path_state(&conn->c_path[0]); conn 831 net/rds/rds.h rds_conn_up(struct rds_connection *conn) conn 833 net/rds/rds.h WARN_ON(conn->c_trans->t_mp_capable); conn 834 net/rds/rds.h return rds_conn_path_up(&conn->c_path[0]); conn 844 net/rds/rds.h rds_conn_connecting(struct rds_connection *conn) conn 846 net/rds/rds.h WARN_ON(conn->c_trans->t_mp_capable); conn 847 net/rds/rds.h return rds_conn_path_connecting(&conn->c_path[0]); conn 889 net/rds/rds.h void rds_inc_init(struct rds_incoming *inc, struct rds_connection *conn, conn 891 net/rds/rds.h void rds_inc_path_init(struct rds_incoming *inc, struct rds_conn_path *conn, conn 894 net/rds/rds.h void rds_recv_incoming(struct rds_connection *conn, struct in6_addr *saddr, conn 911 net/rds/rds.h void rds_send_path_reset(struct rds_conn_path *conn); conn 916 net/rds/rds.h void rds_send_drop_acked(struct rds_connection *conn, u64 ack, conn 920 net/rds/rds.h void rds_send_ping(struct rds_connection *conn, int cp_index); conn 952 net/rds/rds.h static inline bool rds_destroy_pending(struct rds_connection *conn) conn 954 net/rds/rds.h return !check_net(rds_conn_net(conn)) || conn 955 net/rds/rds.h (conn->c_trans->t_unloading && conn->c_trans->t_unloading(conn)); conn 999 net/rds/rds.h void rds_connect_path_complete(struct rds_conn_path *conn, int curr); conn 1000 net/rds/rds.h void rds_connect_complete(struct rds_connection *conn); conn 43 net/rds/recv.c void rds_inc_init(struct rds_incoming *inc, struct rds_connection *conn, conn 48 net/rds/recv.c inc->i_conn = conn; conn 132 net/rds/recv.c static void rds_conn_peer_gen_update(struct rds_connection *conn, conn 139 net/rds/recv.c WARN_ON(conn->c_trans->t_type != RDS_TRANS_TCP); conn 141 net/rds/recv.c if (conn->c_peer_gen_num != 0 && conn 142 net/rds/recv.c peer_gen_num != conn->c_peer_gen_num) { conn 146 net/rds/recv.c cp = &conn->c_path[i]; conn 158 net/rds/recv.c conn->c_peer_gen_num = peer_gen_num; conn 199 net/rds/recv.c struct rds_connection *conn) conn 217 net/rds/recv.c conn->c_npaths = min_t(int, RDS_MPATH_WORKERS, conn 229 net/rds/recv.c conn->c_npaths = max_t(int, conn->c_npaths, 1); conn 230 net/rds/recv.c conn->c_ping_triggered = 0; conn 231 net/rds/recv.c rds_conn_peer_gen_update(conn, new_peer_gen_num); conn 252 net/rds/recv.c static void rds_start_mprds(struct rds_connection *conn) conn 257 net/rds/recv.c if (conn->c_npaths > 1 && conn 258 net/rds/recv.c rds_addr_cmp(&conn->c_laddr, &conn->c_faddr) < 0) { conn 259 net/rds/recv.c for (i = 0; i < conn->c_npaths; i++) { conn 260 net/rds/recv.c cp = &conn->c_path[i]; conn 282 net/rds/recv.c void rds_recv_incoming(struct rds_connection *conn, struct in6_addr *saddr, conn 291 net/rds/recv.c inc->i_conn = conn; conn 293 net/rds/recv.c if (conn->c_trans->t_mp_capable) conn 296 net/rds/recv.c cp = &conn->c_path[0]; conn 299 net/rds/recv.c "flags 0x%x rx_jiffies %lu\n", conn, conn 362 net/rds/recv.c rs = rds_find_bound(daddr, inc->i_hdr.h_dport, conn->c_bound_if); conn 139 net/rds/send.c struct rds_connection *conn = cp->cp_conn; conn 193 net/rds/send.c if (conn->c_trans->xmit_path_prepare) conn 194 net/rds/send.c conn->c_trans->xmit_path_prepare(cp); conn 219 net/rds/send.c if (!rm && test_and_clear_bit(0, &conn->c_map_queued)) { conn 220 net/rds/send.c rm = rds_cong_update_alloc(conn); conn 316 net/rds/send.c ret = conn->c_trans->xmit_rdma(conn, &rm->rdma); conn 332 net/rds/send.c ret = conn->c_trans->xmit_atomic(conn, &rm->atomic); conn 367 net/rds/send.c ret = conn->c_trans->xmit(conn, rm, conn 421 net/rds/send.c if (conn->c_trans->xmit_path_complete) conn 422 net/rds/send.c conn->c_trans->xmit_path_complete(cp); conn 454 net/rds/send.c if ((test_bit(0, &conn->c_map_queued) || conn 714 net/rds/send.c void rds_send_drop_acked(struct rds_connection *conn, u64 ack, conn 717 net/rds/send.c WARN_ON(conn->c_trans->t_mp_capable); conn 718 net/rds/send.c rds_send_path_drop_acked(&conn->c_path[0], ack, is_acked); conn 725 net/rds/send.c struct rds_connection *conn; conn 755 net/rds/send.c conn = rm->m_inc.i_conn; conn 756 net/rds/send.c if (conn->c_trans->t_mp_capable) conn 759 net/rds/send.c cp = &conn->c_path[0]; conn 818 net/rds/send.c static int rds_send_queue_rm(struct rds_sock *rs, struct rds_connection *conn, conn 863 net/rds/send.c rm->m_inc.i_conn = conn; conn 1046 net/rds/send.c struct rds_connection *conn, int nonblock) conn 1050 net/rds/send.c if (conn->c_npaths == 0) conn 1053 net/rds/send.c hash = RDS_MPATH_HASH(rs, conn->c_npaths); conn 1054 net/rds/send.c if (conn->c_npaths == 0 && hash != 0) { conn 1055 net/rds/send.c rds_send_ping(conn, 0); conn 1062 net/rds/send.c if (conn->c_npaths == 0) { conn 1068 net/rds/send.c if (wait_event_interruptible(conn->c_hs_waitq, conn 1069 net/rds/send.c conn->c_npaths != 0)) conn 1072 net/rds/send.c if (conn->c_npaths == 1) conn 1109 net/rds/send.c struct rds_connection *conn; conn 1294 net/rds/send.c conn = rs->rs_conn; conn 1296 net/rds/send.c conn = rds_conn_create_outgoing(sock_net(sock->sk), conn 1301 net/rds/send.c if (IS_ERR(conn)) { conn 1302 net/rds/send.c ret = PTR_ERR(conn); conn 1305 net/rds/send.c rs->rs_conn = conn; conn 1308 net/rds/send.c if (conn->c_trans->t_mp_capable) conn 1309 net/rds/send.c cpath = &conn->c_path[rds_send_mprds_hash(rs, conn, nonblock)]; conn 1311 net/rds/send.c cpath = &conn->c_path[0]; conn 1320 net/rds/send.c rds_conn_connect_if_down(conn); conn 1324 net/rds/send.c if (rm->rdma.op_active && !conn->c_trans->xmit_rdma) { conn 1326 net/rds/send.c &rm->rdma, conn->c_trans->xmit_rdma); conn 1331 net/rds/send.c if (rm->atomic.op_active && !conn->c_trans->xmit_atomic) { conn 1333 net/rds/send.c &rm->atomic, conn->c_trans->xmit_atomic); conn 1338 net/rds/send.c if (rds_destroy_pending(conn)) { conn 1345 net/rds/send.c ret = rds_cong_wait(conn->c_fcong, dport, nonblock, rs); conn 1350 net/rds/send.c while (!rds_send_queue_rm(rs, conn, cpath, rm, rs->rs_bound_port, conn 1360 net/rds/send.c rds_send_queue_rm(rs, conn, cpath, rm, conn 1500 net/rds/send.c rds_send_ping(struct rds_connection *conn, int cp_index) conn 1503 net/rds/send.c struct rds_conn_path *cp = &conn->c_path[cp_index]; conn 1506 net/rds/send.c if (conn->c_ping_triggered) { conn 1510 net/rds/send.c conn->c_ping_triggered = 1; conn 376 net/rds/tcp.c static int rds_tcp_conn_alloc(struct rds_connection *conn, gfp_t gfp) conn 394 net/rds/tcp.c conn->c_path[i].cp_transport_data = tc; conn 395 net/rds/tcp.c tc->t_cpath = &conn->c_path[i]; conn 399 net/rds/tcp.c conn->c_path[i].cp_transport_data); conn 403 net/rds/tcp.c tc = conn->c_path[i].cp_transport_data; conn 411 net/rds/tcp.c rds_tcp_conn_free(conn->c_path[j].cp_transport_data); conn 416 net/rds/tcp.c static bool list_has_conn(struct list_head *list, struct rds_connection *conn) conn 421 net/rds/tcp.c if (tc->t_cpath->cp_conn == conn) conn 432 net/rds/tcp.c static bool rds_tcp_is_unloading(struct rds_connection *conn) conn 66 net/rds/tcp.h void rds_tcp_conn_path_shutdown(struct rds_conn_path *conn); conn 89 net/rds/tcp.h int rds_tcp_xmit(struct rds_connection *conn, struct rds_message *rm, conn 98 net/rds/tcp_connect.c struct rds_connection *conn = cp->cp_conn; conn 113 net/rds/tcp_connect.c if (ipv6_addr_v4mapped(&conn->c_laddr)) { conn 114 net/rds/tcp_connect.c ret = sock_create_kern(rds_conn_net(conn), PF_INET, conn 118 net/rds/tcp_connect.c ret = sock_create_kern(rds_conn_net(conn), PF_INET6, conn 130 net/rds/tcp_connect.c sin6.sin6_addr = conn->c_laddr; conn 133 net/rds/tcp_connect.c sin6.sin6_scope_id = conn->c_dev_if; conn 138 net/rds/tcp_connect.c sin.sin_addr.s_addr = conn->c_laddr.s6_addr32[3]; conn 147 net/rds/tcp_connect.c ret, &conn->c_laddr); conn 153 net/rds/tcp_connect.c sin6.sin6_addr = conn->c_faddr; conn 156 net/rds/tcp_connect.c sin6.sin6_scope_id = conn->c_dev_if; conn 161 net/rds/tcp_connect.c sin.sin_addr.s_addr = conn->c_faddr.s6_addr32[3]; conn 174 net/rds/tcp_connect.c rdsdebug("connect to address %pI6c returned %d\n", &conn->c_faddr, ret); conn 83 net/rds/tcp_listen.c struct rds_tcp_connection *rds_tcp_accept_one_path(struct rds_connection *conn) conn 86 net/rds/tcp_listen.c int npaths = max_t(int, 1, conn->c_npaths); conn 91 net/rds/tcp_listen.c if (rds_addr_cmp(&conn->c_faddr, &conn->c_laddr) >= 0) { conn 97 net/rds/tcp_listen.c rds_conn_path_connect_if_down(&conn->c_path[0]); conn 102 net/rds/tcp_listen.c struct rds_conn_path *cp = &conn->c_path[i]; conn 128 net/rds/tcp_listen.c struct rds_connection *conn; conn 201 net/rds/tcp_listen.c conn = rds_conn_create(sock_net(sock->sk), conn 205 net/rds/tcp_listen.c if (IS_ERR(conn)) { conn 206 net/rds/tcp_listen.c ret = PTR_ERR(conn); conn 214 net/rds/tcp_listen.c rs_tcp = rds_tcp_accept_one_path(conn); conn 234 net/rds/tcp_listen.c if (conn->c_npaths == 0) conn 105 net/rds/tcp_recv.c static void rds_tcp_cong_recv(struct rds_connection *conn, conn 121 net/rds/tcp_recv.c map = conn->c_fcong; conn 237 net/rds/tcp_recv.c struct rds_connection *conn = cp->cp_conn; conn 240 net/rds/tcp_recv.c rds_tcp_cong_recv(conn, tinc); conn 242 net/rds/tcp_recv.c rds_recv_incoming(conn, &conn->c_faddr, conn 243 net/rds/tcp_recv.c &conn->c_laddr, conn 75 net/rds/tcp_send.c int rds_tcp_xmit(struct rds_connection *conn, struct rds_message *rm, conn 159 net/rds/tcp_send.c &conn->c_faddr, cp->cp_index, ret); conn 100 net/rds/threads.c void rds_connect_complete(struct rds_connection *conn) conn 102 net/rds/threads.c rds_connect_path_complete(&conn->c_path[0], RDS_CONN_CONNECTING); conn 127 net/rds/threads.c struct rds_connection *conn = cp->cp_conn; conn 130 net/rds/threads.c conn, &conn->c_laddr, &conn->c_faddr, conn 134 net/rds/threads.c if (conn->c_trans->t_type == RDS_TRANS_TCP && conn 135 net/rds/threads.c rds_addr_cmp(&conn->c_laddr, &conn->c_faddr) >= 0) conn 151 net/rds/threads.c conn, &conn->c_laddr, &conn->c_faddr); conn 167 net/rds/threads.c struct rds_connection *conn = cp->cp_conn; conn 176 net/rds/threads.c ret = conn->c_trans->conn_path_connect(cp); conn 178 net/rds/threads.c conn, &conn->c_laddr, &conn->c_faddr, ret); conn 395 net/rxrpc/af_rxrpc.c return call->conn->proto.epoch; conn 560 net/rxrpc/ar-internal.h struct rxrpc_connection *conn; /* connection carrying call */ conn 952 net/rxrpc/ar-internal.h static inline bool rxrpc_conn_is_client(const struct rxrpc_connection *conn) conn 954 net/rxrpc/ar-internal.h return conn->out_clientflag; conn 957 net/rxrpc/ar-internal.h static inline bool rxrpc_conn_is_service(const struct rxrpc_connection *conn) conn 959 net/rxrpc/ar-internal.h return !rxrpc_conn_is_client(conn); conn 962 net/rxrpc/ar-internal.h static inline void rxrpc_put_connection(struct rxrpc_connection *conn) conn 964 net/rxrpc/ar-internal.h if (!conn) conn 967 net/rxrpc/ar-internal.h if (rxrpc_conn_is_client(conn)) conn 968 net/rxrpc/ar-internal.h rxrpc_put_client_conn(conn); conn 970 net/rxrpc/ar-internal.h rxrpc_put_service_conn(conn); conn 973 net/rxrpc/ar-internal.h static inline void rxrpc_reduce_conn_timer(struct rxrpc_connection *conn, conn 976 net/rxrpc/ar-internal.h timer_reduce(&conn->timer, expire_at); conn 78 net/rxrpc/call_accept.c struct rxrpc_connection *conn; conn 80 net/rxrpc/call_accept.c conn = rxrpc_prealloc_service_connection(rxnet, gfp); conn 81 net/rxrpc/call_accept.c if (!conn) conn 83 net/rxrpc/call_accept.c b->conn_backlog[head] = conn; conn 87 net/rxrpc/call_accept.c trace_rxrpc_conn(conn->debug_id, rxrpc_conn_new_service, conn 88 net/rxrpc/call_accept.c atomic_read(&conn->usage), here); conn 212 net/rxrpc/call_accept.c struct rxrpc_connection *conn = b->conn_backlog[tail]; conn 214 net/rxrpc/call_accept.c list_del(&conn->link); conn 215 net/rxrpc/call_accept.c list_del(&conn->proc_link); conn 217 net/rxrpc/call_accept.c kfree(conn); conn 265 net/rxrpc/call_accept.c struct rxrpc_connection *conn, conn 292 net/rxrpc/call_accept.c if (!conn) { conn 308 net/rxrpc/call_accept.c conn = b->conn_backlog[conn_tail]; conn 312 net/rxrpc/call_accept.c conn->params.local = rxrpc_get_local(local); conn 313 net/rxrpc/call_accept.c conn->params.peer = peer; conn 314 net/rxrpc/call_accept.c rxrpc_see_connection(conn); conn 315 net/rxrpc/call_accept.c rxrpc_new_incoming_connection(rx, conn, sec, key, skb); conn 317 net/rxrpc/call_accept.c rxrpc_get_connection(conn); conn 327 net/rxrpc/call_accept.c call->conn = conn; conn 328 net/rxrpc/call_accept.c call->security = conn->security; conn 329 net/rxrpc/call_accept.c call->peer = rxrpc_get_peer(conn->params.peer); conn 355 net/rxrpc/call_accept.c struct rxrpc_connection *conn; conn 377 net/rxrpc/call_accept.c conn = rxrpc_find_connection_rcu(local, skb, &peer); conn 379 net/rxrpc/call_accept.c if (!conn && !rxrpc_look_up_server_security(local, rx, &sec, &key, skb)) conn 382 net/rxrpc/call_accept.c call = rxrpc_alloc_incoming_call(rx, local, peer, conn, sec, key, skb); conn 394 net/rxrpc/call_accept.c conn = call->conn; conn 401 net/rxrpc/call_accept.c spin_lock(&conn->state_lock); conn 402 net/rxrpc/call_accept.c switch (conn->state) { conn 404 net/rxrpc/call_accept.c conn->state = RXRPC_CONN_SERVICE_CHALLENGING; conn 405 net/rxrpc/call_accept.c set_bit(RXRPC_CONN_EV_CHALLENGE, &call->conn->events); conn 406 net/rxrpc/call_accept.c rxrpc_queue_conn(call->conn); conn 422 net/rxrpc/call_accept.c conn->abort_code, conn->error); conn 426 net/rxrpc/call_accept.c conn->abort_code, conn->error); conn 431 net/rxrpc/call_accept.c spin_unlock(&conn->state_lock); conn 388 net/rxrpc/call_event.c (int)call->conn->hi_serial - (int)call->rx_serial > 0) { conn 298 net/rxrpc/call_object.c _net("CALL new %d on CONN %d", call->debug_id, call->conn->debug_id); conn 333 net/rxrpc/call_object.c struct rxrpc_connection *conn = call->conn; conn 337 net/rxrpc/call_object.c _enter(",%d", call->conn->debug_id); conn 355 net/rxrpc/call_object.c conn->channels[chan].call_counter = call->call_id; conn 356 net/rxrpc/call_object.c conn->channels[chan].call_id = call->call_id; conn 357 net/rxrpc/call_object.c rcu_assign_pointer(conn->channels[chan].call, call); conn 359 net/rxrpc/call_object.c spin_lock(&conn->params.peer->lock); conn 360 net/rxrpc/call_object.c hlist_add_head_rcu(&call->error_link, &conn->params.peer->error_targets); conn 361 net/rxrpc/call_object.c spin_unlock(&conn->params.peer->lock); conn 363 net/rxrpc/call_object.c _net("CALL incoming %d on CONN %d", call->debug_id, call->conn->debug_id); conn 446 net/rxrpc/call_object.c struct rxrpc_connection *conn = call->conn; conn 493 net/rxrpc/call_object.c _debug("RELEASE CALL %p (%d CONN %p)", call, call->debug_id, conn); conn 495 net/rxrpc/call_object.c if (conn && !test_bit(RXRPC_CALL_DISCONNECTED, &call->flags)) conn 571 net/rxrpc/call_object.c rxrpc_put_connection(call->conn); conn 100 net/rxrpc/conn_client.c static int rxrpc_get_client_connection_id(struct rxrpc_connection *conn, conn 103 net/rxrpc/conn_client.c struct rxrpc_net *rxnet = conn->params.local->rxnet; conn 111 net/rxrpc/conn_client.c id = idr_alloc_cyclic(&rxrpc_client_conn_ids, conn, conn 119 net/rxrpc/conn_client.c conn->proto.epoch = rxnet->epoch; conn 120 net/rxrpc/conn_client.c conn->proto.cid = id << RXRPC_CIDSHIFT; conn 121 net/rxrpc/conn_client.c set_bit(RXRPC_CONN_HAS_IDR, &conn->flags); conn 122 net/rxrpc/conn_client.c _leave(" [CID %x]", conn->proto.cid); conn 135 net/rxrpc/conn_client.c static void rxrpc_put_client_connection_id(struct rxrpc_connection *conn) conn 137 net/rxrpc/conn_client.c if (test_bit(RXRPC_CONN_HAS_IDR, &conn->flags)) { conn 140 net/rxrpc/conn_client.c conn->proto.cid >> RXRPC_CIDSHIFT); conn 150 net/rxrpc/conn_client.c struct rxrpc_connection *conn; conn 154 net/rxrpc/conn_client.c idr_for_each_entry(&rxrpc_client_conn_ids, conn, id) { conn 156 net/rxrpc/conn_client.c conn, atomic_read(&conn->usage)); conn 170 net/rxrpc/conn_client.c struct rxrpc_connection *conn; conn 176 net/rxrpc/conn_client.c conn = rxrpc_alloc_connection(gfp); conn 177 net/rxrpc/conn_client.c if (!conn) { conn 182 net/rxrpc/conn_client.c atomic_set(&conn->usage, 1); conn 184 net/rxrpc/conn_client.c __set_bit(RXRPC_CONN_DONT_REUSE, &conn->flags); conn 186 net/rxrpc/conn_client.c __set_bit(RXRPC_CONN_PROBING_FOR_UPGRADE, &conn->flags); conn 188 net/rxrpc/conn_client.c conn->params = *cp; conn 189 net/rxrpc/conn_client.c conn->out_clientflag = RXRPC_CLIENT_INITIATED; conn 190 net/rxrpc/conn_client.c conn->state = RXRPC_CONN_CLIENT; conn 191 net/rxrpc/conn_client.c conn->service_id = cp->service_id; conn 193 net/rxrpc/conn_client.c ret = rxrpc_get_client_connection_id(conn, gfp); conn 197 net/rxrpc/conn_client.c ret = rxrpc_init_client_conn_security(conn); conn 201 net/rxrpc/conn_client.c ret = conn->security->prime_packet_security(conn); conn 207 net/rxrpc/conn_client.c list_add_tail(&conn->proc_link, &rxnet->conn_proc_list); conn 212 net/rxrpc/conn_client.c rxrpc_get_local(conn->params.local); conn 213 net/rxrpc/conn_client.c key_get(conn->params.key); conn 215 net/rxrpc/conn_client.c trace_rxrpc_conn(conn->debug_id, rxrpc_conn_new_client, conn 216 net/rxrpc/conn_client.c atomic_read(&conn->usage), conn 218 net/rxrpc/conn_client.c trace_rxrpc_client(conn, -1, rxrpc_client_alloc); conn 219 net/rxrpc/conn_client.c _leave(" = %p", conn); conn 220 net/rxrpc/conn_client.c return conn; conn 223 net/rxrpc/conn_client.c conn->security->clear(conn); conn 225 net/rxrpc/conn_client.c rxrpc_put_client_connection_id(conn); conn 227 net/rxrpc/conn_client.c kfree(conn); conn 235 net/rxrpc/conn_client.c static bool rxrpc_may_reuse_conn(struct rxrpc_connection *conn) conn 237 net/rxrpc/conn_client.c struct rxrpc_net *rxnet = conn->params.local->rxnet; conn 240 net/rxrpc/conn_client.c if (test_bit(RXRPC_CONN_DONT_REUSE, &conn->flags)) conn 243 net/rxrpc/conn_client.c if (conn->proto.epoch != rxnet->epoch) conn 253 net/rxrpc/conn_client.c id = conn->proto.cid >> RXRPC_CIDSHIFT; conn 264 net/rxrpc/conn_client.c set_bit(RXRPC_CONN_DONT_REUSE, &conn->flags); conn 281 net/rxrpc/conn_client.c struct rxrpc_connection *conn, *candidate = NULL; conn 307 net/rxrpc/conn_client.c conn = rb_entry(p, struct rxrpc_connection, client_node); conn 309 net/rxrpc/conn_client.c #define cmp(X) ((long)conn->params.X - (long)cp->X) conn 320 net/rxrpc/conn_client.c if (rxrpc_may_reuse_conn(conn) && conn 321 net/rxrpc/conn_client.c rxrpc_get_connection_maybe(conn)) conn 355 net/rxrpc/conn_client.c call->conn = candidate; conn 374 net/rxrpc/conn_client.c conn = rb_entry(parent, struct rxrpc_connection, client_node); conn 376 net/rxrpc/conn_client.c #define cmp(X) ((long)conn->params.X - (long)candidate->params.X) conn 387 net/rxrpc/conn_client.c if (rxrpc_may_reuse_conn(conn) && conn 388 net/rxrpc/conn_client.c rxrpc_get_connection_maybe(conn)) conn 392 net/rxrpc/conn_client.c clear_bit(RXRPC_CONN_IN_CLIENT_CONNS, &conn->flags); conn 393 net/rxrpc/conn_client.c rb_replace_node(&conn->client_node, conn 396 net/rxrpc/conn_client.c trace_rxrpc_client(conn, -1, rxrpc_client_replace); conn 407 net/rxrpc/conn_client.c call->conn = candidate; conn 429 net/rxrpc/conn_client.c spin_lock(&conn->channel_lock); conn 430 net/rxrpc/conn_client.c call->conn = conn; conn 431 net/rxrpc/conn_client.c call->security = conn->security; conn 432 net/rxrpc/conn_client.c call->security_ix = conn->security_ix; conn 433 net/rxrpc/conn_client.c call->service_id = conn->service_id; conn 434 net/rxrpc/conn_client.c list_add_tail(&call->chan_wait_link, &conn->waiting_calls); conn 435 net/rxrpc/conn_client.c spin_unlock(&conn->channel_lock); conn 436 net/rxrpc/conn_client.c _leave(" = 0 [extant %d]", conn->debug_id); conn 451 net/rxrpc/conn_client.c struct rxrpc_connection *conn) conn 453 net/rxrpc/conn_client.c if (test_bit(RXRPC_CONN_PROBING_FOR_UPGRADE, &conn->flags)) { conn 454 net/rxrpc/conn_client.c trace_rxrpc_client(conn, -1, rxrpc_client_to_upgrade); conn 455 net/rxrpc/conn_client.c conn->cache_state = RXRPC_CONN_CLIENT_UPGRADE; conn 457 net/rxrpc/conn_client.c trace_rxrpc_client(conn, -1, rxrpc_client_to_active); conn 458 net/rxrpc/conn_client.c conn->cache_state = RXRPC_CONN_CLIENT_ACTIVE; conn 461 net/rxrpc/conn_client.c list_move_tail(&conn->cache_link, &rxnet->active_client_conns); conn 477 net/rxrpc/conn_client.c struct rxrpc_connection *conn) conn 481 net/rxrpc/conn_client.c _enter("%d,%d", conn->debug_id, conn->cache_state); conn 483 net/rxrpc/conn_client.c if (conn->cache_state == RXRPC_CONN_CLIENT_ACTIVE || conn 484 net/rxrpc/conn_client.c conn->cache_state == RXRPC_CONN_CLIENT_UPGRADE) conn 490 net/rxrpc/conn_client.c if (!test_and_set_bit(RXRPC_CONN_COUNTED, &conn->flags)) { conn 491 net/rxrpc/conn_client.c trace_rxrpc_client(conn, -1, rxrpc_client_count); conn 495 net/rxrpc/conn_client.c switch (conn->cache_state) { conn 515 net/rxrpc/conn_client.c _leave(" [%d]", conn->cache_state); conn 520 net/rxrpc/conn_client.c rxrpc_activate_conn(rxnet, conn); conn 525 net/rxrpc/conn_client.c trace_rxrpc_client(conn, -1, rxrpc_client_to_waiting); conn 526 net/rxrpc/conn_client.c conn->cache_state = RXRPC_CONN_CLIENT_WAITING; conn 527 net/rxrpc/conn_client.c list_move_tail(&conn->cache_link, &rxnet->waiting_client_conns); conn 534 net/rxrpc/conn_client.c static void rxrpc_deactivate_one_channel(struct rxrpc_connection *conn, conn 537 net/rxrpc/conn_client.c struct rxrpc_channel *chan = &conn->channels[channel]; conn 540 net/rxrpc/conn_client.c conn->active_chans &= ~(1 << channel); conn 548 net/rxrpc/conn_client.c static void rxrpc_activate_one_channel(struct rxrpc_connection *conn, conn 551 net/rxrpc/conn_client.c struct rxrpc_channel *chan = &conn->channels[channel]; conn 552 net/rxrpc/conn_client.c struct rxrpc_call *call = list_entry(conn->waiting_calls.next, conn 556 net/rxrpc/conn_client.c trace_rxrpc_client(conn, channel, rxrpc_client_chan_activate); conn 561 net/rxrpc/conn_client.c clear_bit(RXRPC_CONN_FINAL_ACK_0 + channel, &conn->flags); conn 569 net/rxrpc/conn_client.c conn->active_chans |= 1 << channel; conn 570 net/rxrpc/conn_client.c call->peer = rxrpc_get_peer(conn->params.peer); conn 571 net/rxrpc/conn_client.c call->cid = conn->proto.cid | channel; conn 576 net/rxrpc/conn_client.c call->cid, call->call_id, call->debug_id, conn->debug_id); conn 599 net/rxrpc/conn_client.c static void rxrpc_activate_channels_locked(struct rxrpc_connection *conn) conn 603 net/rxrpc/conn_client.c switch (conn->cache_state) { conn 614 net/rxrpc/conn_client.c while (!list_empty(&conn->waiting_calls) && conn 615 net/rxrpc/conn_client.c (avail = ~conn->active_chans, conn 618 net/rxrpc/conn_client.c rxrpc_activate_one_channel(conn, __ffs(avail)); conn 624 net/rxrpc/conn_client.c static void rxrpc_activate_channels(struct rxrpc_connection *conn) conn 626 net/rxrpc/conn_client.c _enter("%d", conn->debug_id); conn 628 net/rxrpc/conn_client.c trace_rxrpc_client(conn, -1, rxrpc_client_activate_chans); conn 630 net/rxrpc/conn_client.c if (conn->active_chans == RXRPC_ACTIVE_CHANS_MASK) conn 633 net/rxrpc/conn_client.c spin_lock(&conn->channel_lock); conn 634 net/rxrpc/conn_client.c rxrpc_activate_channels_locked(conn); conn 635 net/rxrpc/conn_client.c spin_unlock(&conn->channel_lock); conn 712 net/rxrpc/conn_client.c rxrpc_animate_client_conn(rxnet, call->conn); conn 713 net/rxrpc/conn_client.c rxrpc_activate_channels(call->conn); conn 717 net/rxrpc/conn_client.c trace_rxrpc_client(call->conn, ret, rxrpc_client_chan_wait_failed); conn 722 net/rxrpc/conn_client.c spin_lock_bh(&call->conn->params.peer->lock); conn 724 net/rxrpc/conn_client.c &call->conn->params.peer->error_targets); conn 725 net/rxrpc/conn_client.c spin_unlock_bh(&call->conn->params.peer->lock); conn 739 net/rxrpc/conn_client.c static void rxrpc_expose_client_conn(struct rxrpc_connection *conn, conn 742 net/rxrpc/conn_client.c if (!test_and_set_bit(RXRPC_CONN_EXPOSED, &conn->flags)) { conn 743 net/rxrpc/conn_client.c trace_rxrpc_client(conn, channel, rxrpc_client_exposed); conn 744 net/rxrpc/conn_client.c rxrpc_get_connection(conn); conn 755 net/rxrpc/conn_client.c struct rxrpc_connection *conn = call->conn; conn 756 net/rxrpc/conn_client.c struct rxrpc_channel *chan = &conn->channels[channel]; conn 766 net/rxrpc/conn_client.c set_bit(RXRPC_CONN_DONT_REUSE, &conn->flags); conn 767 net/rxrpc/conn_client.c rxrpc_expose_client_conn(conn, channel); conn 788 net/rxrpc/conn_client.c struct rxrpc_connection *conn = call->conn; conn 790 net/rxrpc/conn_client.c struct rxrpc_net *rxnet = conn->params.local->rxnet; conn 794 net/rxrpc/conn_client.c spin_lock(&conn->channel_lock); conn 800 net/rxrpc/conn_client.c chan = &conn->channels[channel]; conn 802 net/rxrpc/conn_client.c trace_rxrpc_client(conn, channel, rxrpc_client_chan_disconnect); conn 814 net/rxrpc/conn_client.c trace_rxrpc_client(conn, channel, rxrpc_client_chan_unstarted); conn 820 net/rxrpc/conn_client.c if (conn->cache_state == RXRPC_CONN_CLIENT_WAITING && conn 821 net/rxrpc/conn_client.c list_empty(&conn->waiting_calls) && conn 822 net/rxrpc/conn_client.c !conn->active_chans) conn 828 net/rxrpc/conn_client.c spin_unlock(&conn->channel_lock); conn 843 net/rxrpc/conn_client.c __rxrpc_disconnect_call(conn, call); conn 847 net/rxrpc/conn_client.c if (conn->cache_state == RXRPC_CONN_CLIENT_ACTIVE && conn 848 net/rxrpc/conn_client.c !list_empty(&conn->waiting_calls)) { conn 849 net/rxrpc/conn_client.c trace_rxrpc_client(conn, channel, rxrpc_client_chan_pass); conn 850 net/rxrpc/conn_client.c rxrpc_activate_one_channel(conn, channel); conn 864 net/rxrpc/conn_client.c set_bit(RXRPC_CONN_FINAL_ACK_0 + channel, &conn->flags); conn 865 net/rxrpc/conn_client.c rxrpc_reduce_conn_timer(conn, final_ack_at); conn 875 net/rxrpc/conn_client.c switch (conn->cache_state) { conn 878 net/rxrpc/conn_client.c if (test_bit(RXRPC_CONN_EXPOSED, &conn->flags)) { conn 879 net/rxrpc/conn_client.c clear_bit(RXRPC_CONN_PROBING_FOR_UPGRADE, &conn->flags); conn 880 net/rxrpc/conn_client.c trace_rxrpc_client(conn, channel, rxrpc_client_to_active); conn 881 net/rxrpc/conn_client.c conn->cache_state = RXRPC_CONN_CLIENT_ACTIVE; conn 882 net/rxrpc/conn_client.c rxrpc_activate_channels_locked(conn); conn 886 net/rxrpc/conn_client.c if (list_empty(&conn->waiting_calls)) { conn 887 net/rxrpc/conn_client.c rxrpc_deactivate_one_channel(conn, channel); conn 888 net/rxrpc/conn_client.c if (!conn->active_chans) { conn 895 net/rxrpc/conn_client.c trace_rxrpc_client(conn, channel, rxrpc_client_chan_pass); conn 896 net/rxrpc/conn_client.c rxrpc_activate_one_channel(conn, channel); conn 900 net/rxrpc/conn_client.c rxrpc_deactivate_one_channel(conn, channel); conn 901 net/rxrpc/conn_client.c ASSERT(list_empty(&conn->waiting_calls)); conn 902 net/rxrpc/conn_client.c if (!conn->active_chans) conn 907 net/rxrpc/conn_client.c rxrpc_deactivate_one_channel(conn, channel); conn 917 net/rxrpc/conn_client.c spin_unlock(&conn->channel_lock); conn 925 net/rxrpc/conn_client.c if (test_bit(RXRPC_CONN_EXPOSED, &conn->flags)) { conn 926 net/rxrpc/conn_client.c trace_rxrpc_client(conn, channel, rxrpc_client_to_idle); conn 927 net/rxrpc/conn_client.c conn->idle_timestamp = jiffies; conn 928 net/rxrpc/conn_client.c conn->cache_state = RXRPC_CONN_CLIENT_IDLE; conn 929 net/rxrpc/conn_client.c list_move_tail(&conn->cache_link, &rxnet->idle_client_conns); conn 930 net/rxrpc/conn_client.c if (rxnet->idle_client_conns.next == &conn->cache_link && conn 934 net/rxrpc/conn_client.c trace_rxrpc_client(conn, channel, rxrpc_client_to_inactive); conn 935 net/rxrpc/conn_client.c conn->cache_state = RXRPC_CONN_CLIENT_INACTIVE; conn 936 net/rxrpc/conn_client.c list_del_init(&conn->cache_link); conn 945 net/rxrpc/conn_client.c rxrpc_put_one_client_conn(struct rxrpc_connection *conn) conn 948 net/rxrpc/conn_client.c struct rxrpc_local *local = conn->params.local; conn 952 net/rxrpc/conn_client.c trace_rxrpc_client(conn, -1, rxrpc_client_cleanup); conn 954 net/rxrpc/conn_client.c if (test_bit(RXRPC_CONN_IN_CLIENT_CONNS, &conn->flags)) { conn 957 net/rxrpc/conn_client.c &conn->flags)) conn 958 net/rxrpc/conn_client.c rb_erase(&conn->client_node, &local->client_conns); conn 962 net/rxrpc/conn_client.c rxrpc_put_client_connection_id(conn); conn 964 net/rxrpc/conn_client.c ASSERTCMP(conn->cache_state, ==, RXRPC_CONN_CLIENT_INACTIVE); conn 966 net/rxrpc/conn_client.c if (test_bit(RXRPC_CONN_COUNTED, &conn->flags)) { conn 967 net/rxrpc/conn_client.c trace_rxrpc_client(conn, -1, rxrpc_client_uncount); conn 982 net/rxrpc/conn_client.c rxrpc_kill_connection(conn); conn 995 net/rxrpc/conn_client.c void rxrpc_put_client_conn(struct rxrpc_connection *conn) conn 998 net/rxrpc/conn_client.c unsigned int debug_id = conn->debug_id; conn 1002 net/rxrpc/conn_client.c n = atomic_dec_return(&conn->usage); conn 1008 net/rxrpc/conn_client.c conn = rxrpc_put_one_client_conn(conn); conn 1009 net/rxrpc/conn_client.c } while (conn); conn 1017 net/rxrpc/conn_client.c struct rxrpc_connection *conn; conn 1035 net/rxrpc/conn_client.c conn = list_entry(rxnet->active_client_conns.next, conn 1037 net/rxrpc/conn_client.c ASSERTIFCMP(conn->cache_state != RXRPC_CONN_CLIENT_ACTIVE, conn 1038 net/rxrpc/conn_client.c conn->cache_state, ==, RXRPC_CONN_CLIENT_UPGRADE); conn 1040 net/rxrpc/conn_client.c if (list_empty(&conn->waiting_calls)) { conn 1041 net/rxrpc/conn_client.c trace_rxrpc_client(conn, -1, rxrpc_client_to_culled); conn 1042 net/rxrpc/conn_client.c conn->cache_state = RXRPC_CONN_CLIENT_CULLED; conn 1043 net/rxrpc/conn_client.c list_del_init(&conn->cache_link); conn 1045 net/rxrpc/conn_client.c trace_rxrpc_client(conn, -1, rxrpc_client_to_waiting); conn 1046 net/rxrpc/conn_client.c conn->cache_state = RXRPC_CONN_CLIENT_WAITING; conn 1047 net/rxrpc/conn_client.c list_move_tail(&conn->cache_link, conn 1069 net/rxrpc/conn_client.c struct rxrpc_connection *conn; conn 1099 net/rxrpc/conn_client.c conn = list_entry(rxnet->idle_client_conns.next, conn 1101 net/rxrpc/conn_client.c ASSERT(test_bit(RXRPC_CONN_EXPOSED, &conn->flags)); conn 1112 net/rxrpc/conn_client.c if (conn->params.local->service_closed) conn 1115 net/rxrpc/conn_client.c conn_expires_at = conn->idle_timestamp + expiry; conn 1122 net/rxrpc/conn_client.c trace_rxrpc_client(conn, -1, rxrpc_client_discard); conn 1123 net/rxrpc/conn_client.c if (!test_and_clear_bit(RXRPC_CONN_EXPOSED, &conn->flags)) conn 1125 net/rxrpc/conn_client.c conn->cache_state = RXRPC_CONN_CLIENT_INACTIVE; conn 1126 net/rxrpc/conn_client.c list_del_init(&conn->cache_link); conn 1134 net/rxrpc/conn_client.c rxrpc_put_connection(conn); conn 1182 net/rxrpc/conn_client.c struct rxrpc_connection *conn, *tmp; conn 1192 net/rxrpc/conn_client.c list_for_each_entry_safe(conn, tmp, &rxnet->idle_client_conns, conn 1194 net/rxrpc/conn_client.c if (conn->params.local == local) { conn 1195 net/rxrpc/conn_client.c ASSERTCMP(conn->cache_state, ==, RXRPC_CONN_CLIENT_IDLE); conn 1197 net/rxrpc/conn_client.c trace_rxrpc_client(conn, -1, rxrpc_client_discard); conn 1198 net/rxrpc/conn_client.c if (!test_and_clear_bit(RXRPC_CONN_EXPOSED, &conn->flags)) conn 1200 net/rxrpc/conn_client.c conn->cache_state = RXRPC_CONN_CLIENT_INACTIVE; conn 1201 net/rxrpc/conn_client.c list_move(&conn->cache_link, &graveyard); conn 1211 net/rxrpc/conn_client.c conn = list_entry(graveyard.next, conn 1213 net/rxrpc/conn_client.c list_del_init(&conn->cache_link); conn 1215 net/rxrpc/conn_client.c rxrpc_put_connection(conn); conn 22 net/rxrpc/conn_event.c static void rxrpc_conn_retransmit_call(struct rxrpc_connection *conn, conn 42 net/rxrpc/conn_event.c _enter("%d", conn->debug_id); conn 44 net/rxrpc/conn_event.c chan = &conn->channels[channel]; conn 55 net/rxrpc/conn_event.c msg.msg_name = &conn->params.peer->srx.transport; conn 56 net/rxrpc/conn_event.c msg.msg_namelen = conn->params.peer->srx.transport_len; conn 68 net/rxrpc/conn_event.c pkt.whdr.epoch = htonl(conn->proto.epoch); conn 69 net/rxrpc/conn_event.c pkt.whdr.cid = htonl(conn->proto.cid | channel); conn 73 net/rxrpc/conn_event.c pkt.whdr.flags = conn->out_clientflag; conn 75 net/rxrpc/conn_event.c pkt.whdr.securityIndex = conn->security_ix; conn 77 net/rxrpc/conn_event.c pkt.whdr.serviceId = htons(conn->service_id); conn 89 net/rxrpc/conn_event.c mtu = conn->params.peer->if_mtu; conn 90 net/rxrpc/conn_event.c mtu -= conn->params.peer->hdrsize; conn 120 net/rxrpc/conn_event.c serial = atomic_inc_return(&conn->serial); conn 125 net/rxrpc/conn_event.c _proto("Tx ABORT %%%u { %d } [re]", serial, conn->abort_code); conn 136 net/rxrpc/conn_event.c ret = kernel_sendmsg(conn->params.local->socket, &msg, iov, ioc, len); conn 137 net/rxrpc/conn_event.c conn->params.peer->last_tx_at = ktime_get_seconds(); conn 151 net/rxrpc/conn_event.c static void rxrpc_abort_calls(struct rxrpc_connection *conn, conn 158 net/rxrpc/conn_event.c _enter("{%d},%x", conn->debug_id, conn->abort_code); conn 160 net/rxrpc/conn_event.c spin_lock(&conn->channel_lock); conn 164 net/rxrpc/conn_event.c conn->channels[i].call, conn 165 net/rxrpc/conn_event.c lockdep_is_held(&conn->channel_lock)); conn 171 net/rxrpc/conn_event.c conn->abort_code, conn 172 net/rxrpc/conn_event.c conn->error); conn 175 net/rxrpc/conn_event.c conn->abort_code); conn 177 net/rxrpc/conn_event.c conn->abort_code, conn 178 net/rxrpc/conn_event.c conn->error)) conn 183 net/rxrpc/conn_event.c spin_unlock(&conn->channel_lock); conn 190 net/rxrpc/conn_event.c static int rxrpc_abort_connection(struct rxrpc_connection *conn, conn 201 net/rxrpc/conn_event.c _enter("%d,,%u,%u", conn->debug_id, error, abort_code); conn 204 net/rxrpc/conn_event.c spin_lock_bh(&conn->state_lock); conn 205 net/rxrpc/conn_event.c if (conn->state >= RXRPC_CONN_REMOTELY_ABORTED) { conn 206 net/rxrpc/conn_event.c spin_unlock_bh(&conn->state_lock); conn 211 net/rxrpc/conn_event.c conn->error = error; conn 212 net/rxrpc/conn_event.c conn->abort_code = abort_code; conn 213 net/rxrpc/conn_event.c conn->state = RXRPC_CONN_LOCALLY_ABORTED; conn 214 net/rxrpc/conn_event.c spin_unlock_bh(&conn->state_lock); conn 216 net/rxrpc/conn_event.c msg.msg_name = &conn->params.peer->srx.transport; conn 217 net/rxrpc/conn_event.c msg.msg_namelen = conn->params.peer->srx.transport_len; conn 222 net/rxrpc/conn_event.c whdr.epoch = htonl(conn->proto.epoch); conn 223 net/rxrpc/conn_event.c whdr.cid = htonl(conn->proto.cid); conn 227 net/rxrpc/conn_event.c whdr.flags = conn->out_clientflag; conn 229 net/rxrpc/conn_event.c whdr.securityIndex = conn->security_ix; conn 231 net/rxrpc/conn_event.c whdr.serviceId = htons(conn->service_id); conn 233 net/rxrpc/conn_event.c word = htonl(conn->abort_code); conn 242 net/rxrpc/conn_event.c serial = atomic_inc_return(&conn->serial); conn 243 net/rxrpc/conn_event.c rxrpc_abort_calls(conn, RXRPC_CALL_LOCALLY_ABORTED, serial); conn 245 net/rxrpc/conn_event.c _proto("Tx CONN ABORT %%%u { %d }", serial, conn->abort_code); conn 247 net/rxrpc/conn_event.c ret = kernel_sendmsg(conn->params.local->socket, &msg, iov, 2, len); conn 249 net/rxrpc/conn_event.c trace_rxrpc_tx_fail(conn->debug_id, serial, ret, conn 255 net/rxrpc/conn_event.c trace_rxrpc_tx_packet(conn->debug_id, &whdr, rxrpc_tx_point_conn_abort); conn 257 net/rxrpc/conn_event.c conn->params.peer->last_tx_at = ktime_get_seconds(); conn 283 net/rxrpc/conn_event.c static int rxrpc_process_event(struct rxrpc_connection *conn, conn 292 net/rxrpc/conn_event.c if (conn->state >= RXRPC_CONN_REMOTELY_ABORTED) { conn 293 net/rxrpc/conn_event.c _leave(" = -ECONNABORTED [%u]", conn->state); conn 297 net/rxrpc/conn_event.c _enter("{%d},{%u,%%%u},", conn->debug_id, sp->hdr.type, sp->hdr.serial); conn 302 net/rxrpc/conn_event.c rxrpc_conn_retransmit_call(conn, skb, conn 320 net/rxrpc/conn_event.c conn->error = -ECONNABORTED; conn 321 net/rxrpc/conn_event.c conn->abort_code = abort_code; conn 322 net/rxrpc/conn_event.c conn->state = RXRPC_CONN_REMOTELY_ABORTED; conn 323 net/rxrpc/conn_event.c rxrpc_abort_calls(conn, RXRPC_CALL_REMOTELY_ABORTED, sp->hdr.serial); conn 327 net/rxrpc/conn_event.c return conn->security->respond_to_challenge(conn, skb, conn 331 net/rxrpc/conn_event.c ret = conn->security->verify_response(conn, skb, _abort_code); conn 335 net/rxrpc/conn_event.c ret = conn->security->init_connection_security(conn); conn 339 net/rxrpc/conn_event.c ret = conn->security->prime_packet_security(conn); conn 343 net/rxrpc/conn_event.c spin_lock(&conn->channel_lock); conn 344 net/rxrpc/conn_event.c spin_lock(&conn->state_lock); conn 346 net/rxrpc/conn_event.c if (conn->state == RXRPC_CONN_SERVICE_CHALLENGING) { conn 347 net/rxrpc/conn_event.c conn->state = RXRPC_CONN_SERVICE; conn 348 net/rxrpc/conn_event.c spin_unlock(&conn->state_lock); conn 352 net/rxrpc/conn_event.c conn->channels[loop].call, conn 353 net/rxrpc/conn_event.c lockdep_is_held(&conn->channel_lock))); conn 355 net/rxrpc/conn_event.c spin_unlock(&conn->state_lock); conn 358 net/rxrpc/conn_event.c spin_unlock(&conn->channel_lock); conn 371 net/rxrpc/conn_event.c static void rxrpc_secure_connection(struct rxrpc_connection *conn) conn 376 net/rxrpc/conn_event.c _enter("{%d}", conn->debug_id); conn 378 net/rxrpc/conn_event.c ASSERT(conn->security_ix != 0); conn 379 net/rxrpc/conn_event.c ASSERT(conn->server_key); conn 381 net/rxrpc/conn_event.c if (conn->security->issue_challenge(conn) < 0) { conn 392 net/rxrpc/conn_event.c rxrpc_abort_connection(conn, ret, abort_code); conn 399 net/rxrpc/conn_event.c static void rxrpc_process_delayed_final_acks(struct rxrpc_connection *conn) conn 409 net/rxrpc/conn_event.c struct rxrpc_channel *chan = &conn->channels[channel]; conn 412 net/rxrpc/conn_event.c if (!test_bit(RXRPC_CONN_FINAL_ACK_0 + channel, &conn->flags)) conn 427 net/rxrpc/conn_event.c &conn->flags)) conn 428 net/rxrpc/conn_event.c rxrpc_conn_retransmit_call(conn, NULL, channel); conn 435 net/rxrpc/conn_event.c rxrpc_reduce_conn_timer(conn, next_j); conn 441 net/rxrpc/conn_event.c static void rxrpc_do_process_connection(struct rxrpc_connection *conn) conn 447 net/rxrpc/conn_event.c if (test_and_clear_bit(RXRPC_CONN_EV_CHALLENGE, &conn->events)) conn 448 net/rxrpc/conn_event.c rxrpc_secure_connection(conn); conn 451 net/rxrpc/conn_event.c if (conn->flags & RXRPC_CONN_FINAL_ACK_MASK) conn 452 net/rxrpc/conn_event.c rxrpc_process_delayed_final_acks(conn); conn 456 net/rxrpc/conn_event.c while ((skb = skb_dequeue(&conn->rx_queue))) { conn 458 net/rxrpc/conn_event.c ret = rxrpc_process_event(conn, skb, &abort_code); conn 477 net/rxrpc/conn_event.c skb_queue_head(&conn->rx_queue, skb); conn 481 net/rxrpc/conn_event.c if (rxrpc_abort_connection(conn, ret, abort_code) < 0) conn 489 net/rxrpc/conn_event.c struct rxrpc_connection *conn = conn 492 net/rxrpc/conn_event.c rxrpc_see_connection(conn); conn 494 net/rxrpc/conn_event.c if (__rxrpc_use_local(conn->params.local)) { conn 495 net/rxrpc/conn_event.c rxrpc_do_process_connection(conn); conn 496 net/rxrpc/conn_event.c rxrpc_unuse_local(conn->params.local); conn 499 net/rxrpc/conn_event.c rxrpc_put_connection(conn); conn 26 net/rxrpc/conn_object.c struct rxrpc_connection *conn = conn 29 net/rxrpc/conn_object.c rxrpc_queue_conn(conn); conn 37 net/rxrpc/conn_object.c struct rxrpc_connection *conn; conn 41 net/rxrpc/conn_object.c conn = kzalloc(sizeof(struct rxrpc_connection), gfp); conn 42 net/rxrpc/conn_object.c if (conn) { conn 43 net/rxrpc/conn_object.c INIT_LIST_HEAD(&conn->cache_link); conn 44 net/rxrpc/conn_object.c spin_lock_init(&conn->channel_lock); conn 45 net/rxrpc/conn_object.c INIT_LIST_HEAD(&conn->waiting_calls); conn 46 net/rxrpc/conn_object.c timer_setup(&conn->timer, &rxrpc_connection_timer, 0); conn 47 net/rxrpc/conn_object.c INIT_WORK(&conn->processor, &rxrpc_process_connection); conn 48 net/rxrpc/conn_object.c INIT_LIST_HEAD(&conn->proc_link); conn 49 net/rxrpc/conn_object.c INIT_LIST_HEAD(&conn->link); conn 50 net/rxrpc/conn_object.c skb_queue_head_init(&conn->rx_queue); conn 51 net/rxrpc/conn_object.c conn->security = &rxrpc_no_security; conn 52 net/rxrpc/conn_object.c spin_lock_init(&conn->state_lock); conn 53 net/rxrpc/conn_object.c conn->debug_id = atomic_inc_return(&rxrpc_debug_id); conn 54 net/rxrpc/conn_object.c conn->size_align = 4; conn 55 net/rxrpc/conn_object.c conn->idle_timestamp = jiffies; conn 58 net/rxrpc/conn_object.c _leave(" = %p{%d}", conn, conn ? conn->debug_id : 0); conn 59 net/rxrpc/conn_object.c return conn; conn 77 net/rxrpc/conn_object.c struct rxrpc_connection *conn; conn 109 net/rxrpc/conn_object.c conn = rxrpc_find_service_conn_rcu(peer, skb); conn 110 net/rxrpc/conn_object.c if (!conn || atomic_read(&conn->usage) == 0) conn 112 net/rxrpc/conn_object.c _leave(" = %p", conn); conn 113 net/rxrpc/conn_object.c return conn; conn 118 net/rxrpc/conn_object.c conn = idr_find(&rxrpc_client_conn_ids, conn 120 net/rxrpc/conn_object.c if (!conn || atomic_read(&conn->usage) == 0) { conn 125 net/rxrpc/conn_object.c if (conn->proto.epoch != k.epoch || conn 126 net/rxrpc/conn_object.c conn->params.local != local) conn 129 net/rxrpc/conn_object.c peer = conn->params.peer; conn 152 net/rxrpc/conn_object.c _leave(" = %p", conn); conn 153 net/rxrpc/conn_object.c return conn; conn 166 net/rxrpc/conn_object.c void __rxrpc_disconnect_call(struct rxrpc_connection *conn, conn 170 net/rxrpc/conn_object.c &conn->channels[call->cid & RXRPC_CHANNELMASK]; conn 172 net/rxrpc/conn_object.c _enter("%d,%x", conn->debug_id, call->cid); conn 211 net/rxrpc/conn_object.c struct rxrpc_connection *conn = call->conn; conn 215 net/rxrpc/conn_object.c spin_lock_bh(&conn->params.peer->lock); conn 217 net/rxrpc/conn_object.c spin_unlock_bh(&conn->params.peer->lock); conn 222 net/rxrpc/conn_object.c spin_lock(&conn->channel_lock); conn 223 net/rxrpc/conn_object.c __rxrpc_disconnect_call(conn, call); conn 224 net/rxrpc/conn_object.c spin_unlock(&conn->channel_lock); conn 227 net/rxrpc/conn_object.c conn->idle_timestamp = jiffies; conn 233 net/rxrpc/conn_object.c void rxrpc_kill_connection(struct rxrpc_connection *conn) conn 235 net/rxrpc/conn_object.c struct rxrpc_net *rxnet = conn->params.local->rxnet; conn 237 net/rxrpc/conn_object.c ASSERT(!rcu_access_pointer(conn->channels[0].call) && conn 238 net/rxrpc/conn_object.c !rcu_access_pointer(conn->channels[1].call) && conn 239 net/rxrpc/conn_object.c !rcu_access_pointer(conn->channels[2].call) && conn 240 net/rxrpc/conn_object.c !rcu_access_pointer(conn->channels[3].call)); conn 241 net/rxrpc/conn_object.c ASSERT(list_empty(&conn->cache_link)); conn 244 net/rxrpc/conn_object.c list_del_init(&conn->proc_link); conn 251 net/rxrpc/conn_object.c rxrpc_purge_queue(&conn->rx_queue); conn 257 net/rxrpc/conn_object.c call_rcu(&conn->rcu, rxrpc_destroy_connection); conn 264 net/rxrpc/conn_object.c bool rxrpc_queue_conn(struct rxrpc_connection *conn) conn 267 net/rxrpc/conn_object.c int n = atomic_fetch_add_unless(&conn->usage, 1, 0); conn 270 net/rxrpc/conn_object.c if (rxrpc_queue_work(&conn->processor)) conn 271 net/rxrpc/conn_object.c trace_rxrpc_conn(conn->debug_id, rxrpc_conn_queued, n + 1, here); conn 273 net/rxrpc/conn_object.c rxrpc_put_connection(conn); conn 280 net/rxrpc/conn_object.c void rxrpc_see_connection(struct rxrpc_connection *conn) conn 283 net/rxrpc/conn_object.c if (conn) { conn 284 net/rxrpc/conn_object.c int n = atomic_read(&conn->usage); conn 286 net/rxrpc/conn_object.c trace_rxrpc_conn(conn->debug_id, rxrpc_conn_seen, n, here); conn 293 net/rxrpc/conn_object.c void rxrpc_get_connection(struct rxrpc_connection *conn) conn 296 net/rxrpc/conn_object.c int n = atomic_inc_return(&conn->usage); conn 298 net/rxrpc/conn_object.c trace_rxrpc_conn(conn->debug_id, rxrpc_conn_got, n, here); conn 305 net/rxrpc/conn_object.c rxrpc_get_connection_maybe(struct rxrpc_connection *conn) conn 309 net/rxrpc/conn_object.c if (conn) { conn 310 net/rxrpc/conn_object.c int n = atomic_fetch_add_unless(&conn->usage, 1, 0); conn 312 net/rxrpc/conn_object.c trace_rxrpc_conn(conn->debug_id, rxrpc_conn_got, n + 1, here); conn 314 net/rxrpc/conn_object.c conn = NULL; conn 316 net/rxrpc/conn_object.c return conn; conn 332 net/rxrpc/conn_object.c void rxrpc_put_service_conn(struct rxrpc_connection *conn) conn 335 net/rxrpc/conn_object.c unsigned int debug_id = conn->debug_id; conn 338 net/rxrpc/conn_object.c n = atomic_dec_return(&conn->usage); conn 342 net/rxrpc/conn_object.c rxrpc_set_service_reap_timer(conn->params.local->rxnet, conn 351 net/rxrpc/conn_object.c struct rxrpc_connection *conn = conn 354 net/rxrpc/conn_object.c _enter("{%d,u=%d}", conn->debug_id, atomic_read(&conn->usage)); conn 356 net/rxrpc/conn_object.c ASSERTCMP(atomic_read(&conn->usage), ==, 0); conn 358 net/rxrpc/conn_object.c _net("DESTROY CONN %d", conn->debug_id); conn 360 net/rxrpc/conn_object.c del_timer_sync(&conn->timer); conn 361 net/rxrpc/conn_object.c rxrpc_purge_queue(&conn->rx_queue); conn 363 net/rxrpc/conn_object.c conn->security->clear(conn); conn 364 net/rxrpc/conn_object.c key_put(conn->params.key); conn 365 net/rxrpc/conn_object.c key_put(conn->server_key); conn 366 net/rxrpc/conn_object.c rxrpc_put_peer(conn->params.peer); conn 368 net/rxrpc/conn_object.c if (atomic_dec_and_test(&conn->params.local->rxnet->nr_conns)) conn 369 net/rxrpc/conn_object.c wake_up_var(&conn->params.local->rxnet->nr_conns); conn 370 net/rxrpc/conn_object.c rxrpc_put_local(conn->params.local); conn 372 net/rxrpc/conn_object.c kfree(conn); conn 381 net/rxrpc/conn_object.c struct rxrpc_connection *conn, *_p; conn 394 net/rxrpc/conn_object.c list_for_each_entry_safe(conn, _p, &rxnet->service_conns, link) { conn 395 net/rxrpc/conn_object.c ASSERTCMP(atomic_read(&conn->usage), >, 0); conn 396 net/rxrpc/conn_object.c if (likely(atomic_read(&conn->usage) > 1)) conn 398 net/rxrpc/conn_object.c if (conn->state == RXRPC_CONN_SERVICE_PREALLOC) conn 401 net/rxrpc/conn_object.c if (rxnet->live && !conn->params.local->dead) { conn 402 net/rxrpc/conn_object.c idle_timestamp = READ_ONCE(conn->idle_timestamp); conn 404 net/rxrpc/conn_object.c if (conn->params.local->service_closed) conn 408 net/rxrpc/conn_object.c conn->debug_id, atomic_read(&conn->usage), conn 421 net/rxrpc/conn_object.c if (atomic_cmpxchg(&conn->usage, 1, 0) != 1) conn 423 net/rxrpc/conn_object.c trace_rxrpc_conn(conn->debug_id, rxrpc_conn_reap_service, 0, NULL); conn 425 net/rxrpc/conn_object.c if (rxrpc_conn_is_client(conn)) conn 428 net/rxrpc/conn_object.c rxrpc_unpublish_service_conn(conn); conn 430 net/rxrpc/conn_object.c list_move_tail(&conn->link, &graveyard); conn 441 net/rxrpc/conn_object.c conn = list_entry(graveyard.next, struct rxrpc_connection, conn 443 net/rxrpc/conn_object.c list_del_init(&conn->link); conn 445 net/rxrpc/conn_object.c ASSERTCMP(atomic_read(&conn->usage), ==, 0); conn 446 net/rxrpc/conn_object.c rxrpc_kill_connection(conn); conn 458 net/rxrpc/conn_object.c struct rxrpc_connection *conn, *_p; conn 471 net/rxrpc/conn_object.c list_for_each_entry_safe(conn, _p, &rxnet->service_conns, link) { conn 473 net/rxrpc/conn_object.c conn, atomic_read(&conn->usage)); conn 24 net/rxrpc/conn_service.c struct rxrpc_connection *conn = NULL; conn 42 net/rxrpc/conn_service.c conn = rb_entry(p, struct rxrpc_connection, service_node); conn 44 net/rxrpc/conn_service.c if (conn->proto.index_key < k.index_key) conn 46 net/rxrpc/conn_service.c else if (conn->proto.index_key > k.index_key) conn 50 net/rxrpc/conn_service.c conn = NULL; conn 55 net/rxrpc/conn_service.c _leave(" = %d", conn ? conn->debug_id : -1); conn 56 net/rxrpc/conn_service.c return conn; conn 64 net/rxrpc/conn_service.c struct rxrpc_connection *conn) conn 67 net/rxrpc/conn_service.c struct rxrpc_conn_proto k = conn->proto; conn 87 net/rxrpc/conn_service.c rb_link_node_rcu(&conn->service_node, parent, pp); conn 88 net/rxrpc/conn_service.c rb_insert_color(&conn->service_node, &peer->service_conns); conn 90 net/rxrpc/conn_service.c set_bit(RXRPC_CONN_IN_SERVICE_CONNS, &conn->flags); conn 92 net/rxrpc/conn_service.c _leave(" = %d [new]", conn->debug_id); conn 109 net/rxrpc/conn_service.c &conn->service_node, conn 122 net/rxrpc/conn_service.c struct rxrpc_connection *conn = rxrpc_alloc_connection(gfp); conn 124 net/rxrpc/conn_service.c if (conn) { conn 128 net/rxrpc/conn_service.c conn->state = RXRPC_CONN_SERVICE_PREALLOC; conn 129 net/rxrpc/conn_service.c atomic_set(&conn->usage, 2); conn 133 net/rxrpc/conn_service.c list_add_tail(&conn->link, &rxnet->service_conns); conn 134 net/rxrpc/conn_service.c list_add_tail(&conn->proc_link, &rxnet->conn_proc_list); conn 137 net/rxrpc/conn_service.c trace_rxrpc_conn(conn->debug_id, rxrpc_conn_new_service, conn 138 net/rxrpc/conn_service.c atomic_read(&conn->usage), conn 142 net/rxrpc/conn_service.c return conn; conn 150 net/rxrpc/conn_service.c struct rxrpc_connection *conn, conn 159 net/rxrpc/conn_service.c conn->proto.epoch = sp->hdr.epoch; conn 160 net/rxrpc/conn_service.c conn->proto.cid = sp->hdr.cid & RXRPC_CIDMASK; conn 161 net/rxrpc/conn_service.c conn->params.service_id = sp->hdr.serviceId; conn 162 net/rxrpc/conn_service.c conn->service_id = sp->hdr.serviceId; conn 163 net/rxrpc/conn_service.c conn->security_ix = sp->hdr.securityIndex; conn 164 net/rxrpc/conn_service.c conn->out_clientflag = 0; conn 165 net/rxrpc/conn_service.c conn->security = sec; conn 166 net/rxrpc/conn_service.c conn->server_key = key_get(key); conn 167 net/rxrpc/conn_service.c if (conn->security_ix) conn 168 net/rxrpc/conn_service.c conn->state = RXRPC_CONN_SERVICE_UNSECURED; conn 170 net/rxrpc/conn_service.c conn->state = RXRPC_CONN_SERVICE; conn 177 net/rxrpc/conn_service.c conn->service_id == rx->service_upgrade.from) conn 178 net/rxrpc/conn_service.c conn->service_id = rx->service_upgrade.to; conn 181 net/rxrpc/conn_service.c rxrpc_publish_service_conn(conn->params.peer, conn); conn 183 net/rxrpc/conn_service.c _net("CONNECTION new %d {%x}", conn->debug_id, conn->proto.cid); conn 190 net/rxrpc/conn_service.c void rxrpc_unpublish_service_conn(struct rxrpc_connection *conn) conn 192 net/rxrpc/conn_service.c struct rxrpc_peer *peer = conn->params.peer; conn 195 net/rxrpc/conn_service.c if (test_and_clear_bit(RXRPC_CONN_IN_SERVICE_CONNS, &conn->flags)) conn 196 net/rxrpc/conn_service.c rb_erase(&conn->service_node, &peer->service_conns); conn 1084 net/rxrpc/input.c struct rxrpc_connection *conn, conn 1103 net/rxrpc/input.c __rxrpc_disconnect_call(conn, call); conn 1113 net/rxrpc/input.c static void rxrpc_post_packet_to_conn(struct rxrpc_connection *conn, conn 1116 net/rxrpc/input.c _enter("%p,%p", conn, skb); conn 1118 net/rxrpc/input.c skb_queue_tail(&conn->rx_queue, skb); conn 1119 net/rxrpc/input.c rxrpc_queue_conn(conn); conn 1197 net/rxrpc/input.c struct rxrpc_connection *conn; conn 1323 net/rxrpc/input.c conn = rxrpc_find_connection_rcu(local, skb, &peer); conn 1324 net/rxrpc/input.c if (conn) { conn 1325 net/rxrpc/input.c if (sp->hdr.securityIndex != conn->security_ix) conn 1328 net/rxrpc/input.c if (sp->hdr.serviceId != conn->service_id) { conn 1331 net/rxrpc/input.c if (!test_bit(RXRPC_CONN_PROBING_FOR_UPGRADE, &conn->flags)) conn 1333 net/rxrpc/input.c old_id = cmpxchg(&conn->service_id, conn->params.service_id, conn 1336 net/rxrpc/input.c if (old_id != conn->params.service_id && conn 1343 net/rxrpc/input.c _debug("CONN %p {%d}", conn, conn->debug_id); conn 1344 net/rxrpc/input.c rxrpc_post_packet_to_conn(conn, skb); conn 1348 net/rxrpc/input.c if ((int)sp->hdr.serial - (int)conn->hi_serial > 0) conn 1349 net/rxrpc/input.c conn->hi_serial = sp->hdr.serial; conn 1353 net/rxrpc/input.c chan = &conn->channels[channel]; conn 1367 net/rxrpc/input.c if (rxrpc_conn_is_service(conn) && conn 1379 net/rxrpc/input.c rxrpc_post_packet_to_conn(conn, skb); conn 1389 net/rxrpc/input.c rxrpc_input_implicit_end_call(rx, conn, call); conn 11 net/rxrpc/insecure.c static int none_init_connection_security(struct rxrpc_connection *conn) conn 16 net/rxrpc/insecure.c static int none_prime_packet_security(struct rxrpc_connection *conn) conn 45 net/rxrpc/insecure.c static int none_respond_to_challenge(struct rxrpc_connection *conn, conn 56 net/rxrpc/insecure.c static int none_verify_response(struct rxrpc_connection *conn, conn 67 net/rxrpc/insecure.c static void none_clear(struct rxrpc_connection *conn) conn 960 net/rxrpc/key.c int rxrpc_get_server_data_key(struct rxrpc_connection *conn, conn 998 net/rxrpc/key.c conn->params.key = key; conn 69 net/rxrpc/output.c static size_t rxrpc_fill_out_ack(struct rxrpc_connection *conn, conn 112 net/rxrpc/output.c mtu = conn->params.peer->if_mtu; conn 113 net/rxrpc/output.c mtu -= conn->params.peer->hdrsize; conn 132 net/rxrpc/output.c struct rxrpc_connection *conn; conn 149 net/rxrpc/output.c conn = call->conn; conn 157 net/rxrpc/output.c pkt->whdr.epoch = htonl(conn->proto.epoch); conn 162 net/rxrpc/output.c pkt->whdr.flags = RXRPC_SLOW_START_OK | conn->out_clientflag; conn 180 net/rxrpc/output.c n = rxrpc_fill_out_ack(conn, call, pkt, &hard_ack, &top, reason); conn 190 net/rxrpc/output.c serial = atomic_inc_return(&conn->serial); conn 212 net/rxrpc/output.c ret = kernel_sendmsg(conn->params.local->socket, &msg, iov, 2, len); conn 213 net/rxrpc/output.c conn->params.peer->last_tx_at = ktime_get_seconds(); conn 252 net/rxrpc/output.c struct rxrpc_connection *conn; conn 272 net/rxrpc/output.c conn = call->conn; conn 280 net/rxrpc/output.c pkt.whdr.epoch = htonl(conn->proto.epoch); conn 285 net/rxrpc/output.c pkt.whdr.flags = conn->out_clientflag; conn 295 net/rxrpc/output.c serial = atomic_inc_return(&conn->serial); conn 298 net/rxrpc/output.c ret = kernel_sendmsg(conn->params.local->socket, conn 300 net/rxrpc/output.c conn->params.peer->last_tx_at = ktime_get_seconds(); conn 317 net/rxrpc/output.c struct rxrpc_connection *conn = call->conn; conn 329 net/rxrpc/output.c serial = atomic_inc_return(&conn->serial); conn 331 net/rxrpc/output.c whdr.epoch = htonl(conn->proto.epoch); conn 343 net/rxrpc/output.c if (test_bit(RXRPC_CONN_PROBING_FOR_UPGRADE, &conn->flags) && conn 395 net/rxrpc/output.c down_read(&conn->params.local->defrag_sem); conn 407 net/rxrpc/output.c ret = kernel_sendmsg(conn->params.local->socket, &msg, iov, 2, len); conn 408 net/rxrpc/output.c conn->params.peer->last_tx_at = ktime_get_seconds(); conn 410 net/rxrpc/output.c up_read(&conn->params.local->defrag_sem); conn 467 net/rxrpc/output.c down_write(&conn->params.local->defrag_sem); conn 473 net/rxrpc/output.c switch (conn->params.local->srx.transport.family) { conn 477 net/rxrpc/output.c kernel_setsockopt(conn->params.local->socket, conn 480 net/rxrpc/output.c ret = kernel_sendmsg(conn->params.local->socket, &msg, conn 482 net/rxrpc/output.c conn->params.peer->last_tx_at = ktime_get_seconds(); conn 485 net/rxrpc/output.c kernel_setsockopt(conn->params.local->socket, conn 502 net/rxrpc/output.c up_write(&conn->params.local->defrag_sem); conn 159 net/rxrpc/proc.c struct rxrpc_connection *conn; conn 173 net/rxrpc/proc.c conn = list_entry(v, struct rxrpc_connection, proc_link); conn 174 net/rxrpc/proc.c if (conn->state == RXRPC_CONN_SERVICE_PREALLOC) { conn 180 net/rxrpc/proc.c sprintf(lbuff, "%pISpc", &conn->params.local->srx.transport); conn 182 net/rxrpc/proc.c sprintf(rbuff, "%pISpc", &conn->params.peer->srx.transport); conn 189 net/rxrpc/proc.c conn->service_id, conn 190 net/rxrpc/proc.c conn->proto.cid, conn 191 net/rxrpc/proc.c rxrpc_conn_is_service(conn) ? "Svc" : "Clt", conn 192 net/rxrpc/proc.c atomic_read(&conn->usage), conn 193 net/rxrpc/proc.c rxrpc_conn_states[conn->state], conn 194 net/rxrpc/proc.c key_serial(conn->params.key), conn 195 net/rxrpc/proc.c atomic_read(&conn->serial), conn 196 net/rxrpc/proc.c conn->hi_serial, conn 197 net/rxrpc/proc.c conn->channels[0].call_id, conn 198 net/rxrpc/proc.c conn->channels[1].call_id, conn 199 net/rxrpc/proc.c conn->channels[2].call_id, conn 200 net/rxrpc/proc.c conn->channels[3].call_id); conn 52 net/rxrpc/rxkad.c static int rxkad_init_connection_security(struct rxrpc_connection *conn) conn 58 net/rxrpc/rxkad.c _enter("{%d},{%x}", conn->debug_id, key_serial(conn->params.key)); conn 60 net/rxrpc/rxkad.c token = conn->params.key->payload.data[0]; conn 61 net/rxrpc/rxkad.c conn->security_ix = token->security_index; conn 74 net/rxrpc/rxkad.c switch (conn->params.security_level) { conn 78 net/rxrpc/rxkad.c conn->size_align = 8; conn 79 net/rxrpc/rxkad.c conn->security_size = sizeof(struct rxkad_level1_hdr); conn 82 net/rxrpc/rxkad.c conn->size_align = 8; conn 83 net/rxrpc/rxkad.c conn->security_size = sizeof(struct rxkad_level2_hdr); conn 90 net/rxrpc/rxkad.c conn->cipher = ci; conn 101 net/rxrpc/rxkad.c static int rxkad_prime_packet_security(struct rxrpc_connection *conn) conn 112 net/rxrpc/rxkad.c if (!conn->params.key) conn 119 net/rxrpc/rxkad.c req = skcipher_request_alloc(&conn->cipher->base, GFP_NOFS); conn 125 net/rxrpc/rxkad.c token = conn->params.key->payload.data[0]; conn 128 net/rxrpc/rxkad.c tmpbuf[0] = htonl(conn->proto.epoch); conn 129 net/rxrpc/rxkad.c tmpbuf[1] = htonl(conn->proto.cid); conn 131 net/rxrpc/rxkad.c tmpbuf[3] = htonl(conn->security_ix); conn 134 net/rxrpc/rxkad.c skcipher_request_set_sync_tfm(req, conn->cipher); conn 140 net/rxrpc/rxkad.c memcpy(&conn->csum_iv, tmpbuf + 2, sizeof(conn->csum_iv)); conn 152 net/rxrpc/rxkad.c struct crypto_skcipher *tfm = &call->conn->cipher->base; conn 202 net/rxrpc/rxkad.c skcipher_request_set_sync_tfm(req, call->conn->cipher); conn 241 net/rxrpc/rxkad.c token = call->conn->params.key->payload.data[0]; conn 245 net/rxrpc/rxkad.c skcipher_request_set_sync_tfm(req, call->conn->cipher); conn 255 net/rxrpc/rxkad.c len = data_size + call->conn->size_align - 1; conn 256 net/rxrpc/rxkad.c len &= ~(call->conn->size_align - 1); conn 291 net/rxrpc/rxkad.c call->debug_id, key_serial(call->conn->params.key), conn 294 net/rxrpc/rxkad.c if (!call->conn->cipher) conn 297 net/rxrpc/rxkad.c ret = key_validate(call->conn->params.key); conn 306 net/rxrpc/rxkad.c memcpy(&iv, call->conn->csum_iv.x, sizeof(iv)); conn 315 net/rxrpc/rxkad.c skcipher_request_set_sync_tfm(req, call->conn->cipher); conn 327 net/rxrpc/rxkad.c switch (call->conn->params.security_level) { conn 383 net/rxrpc/rxkad.c skcipher_request_set_sync_tfm(req, call->conn->cipher); conn 472 net/rxrpc/rxkad.c token = call->conn->params.key->payload.data[0]; conn 475 net/rxrpc/rxkad.c skcipher_request_set_sync_tfm(req, call->conn->cipher); conn 539 net/rxrpc/rxkad.c call->debug_id, key_serial(call->conn->params.key), seq); conn 541 net/rxrpc/rxkad.c if (!call->conn->cipher) conn 549 net/rxrpc/rxkad.c memcpy(&iv, call->conn->csum_iv.x, sizeof(iv)); conn 558 net/rxrpc/rxkad.c skcipher_request_set_sync_tfm(req, call->conn->cipher); conn 575 net/rxrpc/rxkad.c switch (call->conn->params.security_level) { conn 626 net/rxrpc/rxkad.c switch (call->conn->params.security_level) { conn 641 net/rxrpc/rxkad.c static int rxkad_issue_challenge(struct rxrpc_connection *conn) conn 651 net/rxrpc/rxkad.c _enter("{%d,%x}", conn->debug_id, key_serial(conn->server_key)); conn 653 net/rxrpc/rxkad.c ret = key_validate(conn->server_key); conn 657 net/rxrpc/rxkad.c get_random_bytes(&conn->security_nonce, sizeof(conn->security_nonce)); conn 660 net/rxrpc/rxkad.c challenge.nonce = htonl(conn->security_nonce); conn 664 net/rxrpc/rxkad.c msg.msg_name = &conn->params.peer->srx.transport; conn 665 net/rxrpc/rxkad.c msg.msg_namelen = conn->params.peer->srx.transport_len; conn 670 net/rxrpc/rxkad.c whdr.epoch = htonl(conn->proto.epoch); conn 671 net/rxrpc/rxkad.c whdr.cid = htonl(conn->proto.cid); conn 675 net/rxrpc/rxkad.c whdr.flags = conn->out_clientflag; conn 677 net/rxrpc/rxkad.c whdr.securityIndex = conn->security_ix; conn 679 net/rxrpc/rxkad.c whdr.serviceId = htons(conn->service_id); conn 688 net/rxrpc/rxkad.c serial = atomic_inc_return(&conn->serial); conn 692 net/rxrpc/rxkad.c ret = kernel_sendmsg(conn->params.local->socket, &msg, iov, 2, len); conn 694 net/rxrpc/rxkad.c trace_rxrpc_tx_fail(conn->debug_id, serial, ret, conn 699 net/rxrpc/rxkad.c conn->params.peer->last_tx_at = ktime_get_seconds(); conn 700 net/rxrpc/rxkad.c trace_rxrpc_tx_packet(conn->debug_id, &whdr, conn 709 net/rxrpc/rxkad.c static int rxkad_send_response(struct rxrpc_connection *conn, conn 723 net/rxrpc/rxkad.c msg.msg_name = &conn->params.peer->srx.transport; conn 724 net/rxrpc/rxkad.c msg.msg_namelen = conn->params.peer->srx.transport_len; conn 733 net/rxrpc/rxkad.c whdr.flags = conn->out_clientflag; conn 746 net/rxrpc/rxkad.c serial = atomic_inc_return(&conn->serial); conn 750 net/rxrpc/rxkad.c ret = kernel_sendmsg(conn->params.local->socket, &msg, iov, 3, len); conn 752 net/rxrpc/rxkad.c trace_rxrpc_tx_fail(conn->debug_id, serial, ret, conn 757 net/rxrpc/rxkad.c conn->params.peer->last_tx_at = ktime_get_seconds(); conn 780 net/rxrpc/rxkad.c static int rxkad_encrypt_response(struct rxrpc_connection *conn, conn 788 net/rxrpc/rxkad.c req = skcipher_request_alloc(&conn->cipher->base, GFP_NOFS); conn 797 net/rxrpc/rxkad.c skcipher_request_set_sync_tfm(req, conn->cipher); conn 808 net/rxrpc/rxkad.c static int rxkad_respond_to_challenge(struct rxrpc_connection *conn, conn 820 net/rxrpc/rxkad.c _enter("{%d,%x}", conn->debug_id, key_serial(conn->params.key)); conn 824 net/rxrpc/rxkad.c if (!conn->params.key) conn 828 net/rxrpc/rxkad.c ret = key_validate(conn->params.key); conn 852 net/rxrpc/rxkad.c if (conn->params.security_level < min_level) conn 855 net/rxrpc/rxkad.c token = conn->params.key->payload.data[0]; conn 863 net/rxrpc/rxkad.c resp->encrypted.epoch = htonl(conn->proto.epoch); conn 864 net/rxrpc/rxkad.c resp->encrypted.cid = htonl(conn->proto.cid); conn 865 net/rxrpc/rxkad.c resp->encrypted.securityIndex = htonl(conn->security_ix); conn 867 net/rxrpc/rxkad.c resp->encrypted.level = htonl(conn->params.security_level); conn 870 net/rxrpc/rxkad.c resp->encrypted.call_id[0] = htonl(conn->channels[0].call_counter); conn 871 net/rxrpc/rxkad.c resp->encrypted.call_id[1] = htonl(conn->channels[1].call_counter); conn 872 net/rxrpc/rxkad.c resp->encrypted.call_id[2] = htonl(conn->channels[2].call_counter); conn 873 net/rxrpc/rxkad.c resp->encrypted.call_id[3] = htonl(conn->channels[3].call_counter); conn 877 net/rxrpc/rxkad.c ret = rxkad_encrypt_response(conn, resp, token->kad); conn 879 net/rxrpc/rxkad.c ret = rxkad_send_response(conn, &sp->hdr, resp, token->kad); conn 894 net/rxrpc/rxkad.c static int rxkad_decrypt_ticket(struct rxrpc_connection *conn, conn 914 net/rxrpc/rxkad.c _enter("{%d},{%x}", conn->debug_id, key_serial(conn->server_key)); conn 918 net/rxrpc/rxkad.c ret = key_validate(conn->server_key); conn 930 net/rxrpc/rxkad.c ASSERT(conn->server_key->payload.data[0] != NULL); conn 933 net/rxrpc/rxkad.c memcpy(&iv, &conn->server_key->payload.data[2], sizeof(iv)); conn 936 net/rxrpc/rxkad.c req = skcipher_request_alloc(conn->server_key->payload.data[0], conn 1052 net/rxrpc/rxkad.c static void rxkad_decrypt_response(struct rxrpc_connection *conn, conn 1086 net/rxrpc/rxkad.c static int rxkad_verify_response(struct rxrpc_connection *conn, conn 1100 net/rxrpc/rxkad.c _enter("{%d,%x}", conn->debug_id, key_serial(conn->server_key)); conn 1148 net/rxrpc/rxkad.c ret = rxkad_decrypt_ticket(conn, skb, ticket, ticket_len, &session_key, conn 1155 net/rxrpc/rxkad.c rxkad_decrypt_response(conn, response, &session_key); conn 1159 net/rxrpc/rxkad.c if (ntohl(response->encrypted.epoch) != conn->proto.epoch) conn 1161 net/rxrpc/rxkad.c if (ntohl(response->encrypted.cid) != conn->proto.cid) conn 1163 net/rxrpc/rxkad.c if (ntohl(response->encrypted.securityIndex) != conn->security_ix) conn 1172 net/rxrpc/rxkad.c spin_lock(&conn->channel_lock); conn 1182 net/rxrpc/rxkad.c if (call_id < conn->channels[i].call_counter) conn 1186 net/rxrpc/rxkad.c if (call_id > conn->channels[i].call_counter) { conn 1188 net/rxrpc/rxkad.c conn->channels[i].call, conn 1189 net/rxrpc/rxkad.c lockdep_is_held(&conn->channel_lock)); conn 1192 net/rxrpc/rxkad.c conn->channels[i].call_counter = call_id; conn 1195 net/rxrpc/rxkad.c spin_unlock(&conn->channel_lock); conn 1199 net/rxrpc/rxkad.c if (ntohl(response->encrypted.inc_nonce) != conn->security_nonce + 1) conn 1207 net/rxrpc/rxkad.c conn->params.security_level = level; conn 1212 net/rxrpc/rxkad.c ret = rxrpc_get_server_data_key(conn, &session_key, expiry, kvno); conn 1222 net/rxrpc/rxkad.c spin_unlock(&conn->channel_lock); conn 1245 net/rxrpc/rxkad.c static void rxkad_clear(struct rxrpc_connection *conn) conn 1249 net/rxrpc/rxkad.c if (conn->cipher) conn 1250 net/rxrpc/rxkad.c crypto_free_sync_skcipher(conn->cipher); conn 68 net/rxrpc/security.c int rxrpc_init_client_conn_security(struct rxrpc_connection *conn) conn 72 net/rxrpc/security.c struct key *key = conn->params.key; conn 75 net/rxrpc/security.c _enter("{%d},{%x}", conn->debug_id, key_serial(key)); conn 91 net/rxrpc/security.c conn->security = sec; conn 93 net/rxrpc/security.c ret = conn->security->init_connection_security(conn); conn 95 net/rxrpc/security.c conn->security = &rxrpc_no_security; conn 348 net/rxrpc/sendmsg.c max -= call->conn->security_size; conn 349 net/rxrpc/sendmsg.c max &= ~(call->conn->size_align - 1UL); conn 355 net/rxrpc/sendmsg.c space = chunk + call->conn->size_align; conn 356 net/rxrpc/sendmsg.c space &= ~(call->conn->size_align - 1UL); conn 358 net/rxrpc/sendmsg.c size = space + call->conn->security_size; conn 376 net/rxrpc/sendmsg.c _debug("HS: %u", call->conn->security_size); conn 377 net/rxrpc/sendmsg.c skb_reserve(skb, call->conn->security_size); conn 378 net/rxrpc/sendmsg.c skb->len += call->conn->security_size; conn 425 net/rxrpc/sendmsg.c struct rxrpc_connection *conn = call->conn; conn 430 net/rxrpc/sendmsg.c if (conn->security_ix) { conn 431 net/rxrpc/sendmsg.c pad = conn->security_size + skb->mark; conn 432 net/rxrpc/sendmsg.c pad = conn->size_align - pad; conn 433 net/rxrpc/sendmsg.c pad &= conn->size_align - 1; conn 443 net/rxrpc/sendmsg.c sp->hdr.flags = conn->out_clientflag; conn 744 net/rxrpc/sendmsg.c call->debug_id, call->user_call_ID, state, call->conn); conn 807 net/rxrpc/sendmsg.c call->debug_id, call->user_call_ID, call->state, call->conn); conn 162 net/smc/af_smc.c smc_conn_free(&smc->conn); conn 233 net/smc/af_smc.c INIT_DELAYED_WORK(&smc->conn.tx_work, smc_tx_work); conn 236 net/smc/af_smc.c spin_lock_init(&smc->conn.send_lock); conn 362 net/smc/af_smc.c struct smc_link_group *lgr = smc->conn.lgr; conn 389 net/smc/af_smc.c if (smc_reg_rmb(link, smc->conn.rmb_desc, false)) conn 425 net/smc/af_smc.c smc->conn.peer_rmbe_idx = clc->rmbe_idx; conn 426 net/smc/af_smc.c smc->conn.local_tx_ctrl.token = ntohl(clc->rmbe_alert_token); conn 427 net/smc/af_smc.c smc->conn.peer_rmbe_size = bufsize; conn 428 net/smc/af_smc.c atomic_set(&smc->conn.peer_rmbe_space, smc->conn.peer_rmbe_size); conn 429 net/smc/af_smc.c smc->conn.tx_off = bufsize * (smc->conn.peer_rmbe_idx - 1); conn 437 net/smc/af_smc.c smc->conn.peer_rmbe_idx = clc->dmbe_idx; conn 438 net/smc/af_smc.c smc->conn.peer_token = clc->token; conn 440 net/smc/af_smc.c smc->conn.peer_rmbe_size = bufsize - sizeof(struct smcd_cdc_msg); conn 441 net/smc/af_smc.c atomic_set(&smc->conn.peer_rmbe_space, smc->conn.peer_rmbe_size); conn 442 net/smc/af_smc.c smc->conn.tx_off = bufsize * smc->conn.peer_rmbe_idx; conn 448 net/smc/af_smc.c if (smc->conn.lgr->is_smcd) conn 513 net/smc/af_smc.c smc_lgr_forget(smc->conn.lgr); conn 514 net/smc/af_smc.c if (smc->conn.lgr->is_smcd) conn 520 net/smc/af_smc.c smc_conn_free(&smc->conn); conn 607 net/smc/af_smc.c link = &smc->conn.lgr->lnk[SMC_SINGLE_LINK]; conn 619 net/smc/af_smc.c if (smc_rmb_rtoken_handling(&smc->conn, aclc)) conn 631 net/smc/af_smc.c if (smc_reg_rmb(link, smc->conn.rmb_desc, true)) conn 635 net/smc/af_smc.c smc_rmb_sync_sg_for_device(&smc->conn); conn 997 net/smc/af_smc.c struct smc_link_group *lgr = smc->conn.lgr; conn 1004 net/smc/af_smc.c if (smc_reg_rmb(link, smc->conn.rmb_desc, false)) conn 1089 net/smc/af_smc.c smc_conn_free(&new_smc->conn); conn 1100 net/smc/af_smc.c smc_lgr_forget(new_smc->conn.lgr); conn 1105 net/smc/af_smc.c smc_conn_free(&new_smc->conn); conn 1164 net/smc/af_smc.c if (smc_ism_cantalk(new_smc->conn.lgr->peer_gid, conn 1165 net/smc/af_smc.c new_smc->conn.lgr->vlan_id, conn 1166 net/smc/af_smc.c new_smc->conn.lgr->smcd)) { conn 1168 net/smc/af_smc.c smc_lgr_forget(new_smc->conn.lgr); conn 1169 net/smc/af_smc.c smc_conn_free(&new_smc->conn); conn 1176 net/smc/af_smc.c smc_lgr_forget(new_smc->conn.lgr); conn 1177 net/smc/af_smc.c smc_conn_free(&new_smc->conn); conn 1187 net/smc/af_smc.c struct smc_link *link = &new_smc->conn.lgr->lnk[SMC_SINGLE_LINK]; conn 1190 net/smc/af_smc.c if (smc_reg_rmb(link, new_smc->conn.rmb_desc, true)) conn 1193 net/smc/af_smc.c smc_rmb_sync_sg_for_device(&new_smc->conn); conn 1203 net/smc/af_smc.c struct smc_link *link = &new_smc->conn.lgr->lnk[SMC_SINGLE_LINK]; conn 1209 net/smc/af_smc.c if (smc_rmb_rtoken_handling(&new_smc->conn, cclc)) { conn 1494 net/smc/af_smc.c } else if (!atomic_read(&smc_sk(nsk)->conn.bytes_to_rcv)) { conn 1633 net/smc/af_smc.c atomic_read(&smc->conn.sndbuf_space)) || conn 1640 net/smc/af_smc.c if (atomic_read(&smc->conn.bytes_to_rcv)) conn 1646 net/smc/af_smc.c if (smc->conn.urg_state == SMC_URG_VALID) conn 1751 net/smc/af_smc.c mod_delayed_work(system_wq, &smc->conn.tx_work, conn 1760 net/smc/af_smc.c mod_delayed_work(system_wq, &smc->conn.tx_work, conn 1791 net/smc/af_smc.c struct smc_connection *conn; conn 1796 net/smc/af_smc.c conn = &smc->conn; conn 1817 net/smc/af_smc.c answ = atomic_read(&smc->conn.bytes_to_rcv); conn 1829 net/smc/af_smc.c answ = smc->conn.sndbuf_desc->len - conn 1830 net/smc/af_smc.c atomic_read(&smc->conn.sndbuf_space); conn 1842 net/smc/af_smc.c answ = smc_tx_prepared_sends(&smc->conn); conn 1853 net/smc/af_smc.c smc_curs_copy(&cons, &conn->local_tx_ctrl.cons, conn); conn 1854 net/smc/af_smc.c smc_curs_copy(&urg, &conn->urg_curs, conn); conn 1855 net/smc/af_smc.c answ = smc_curs_diff(conn->rmb_desc->len, conn 196 net/smc/smc.h struct smc_connection conn; /* smc connection */ conn 30 net/smc/smc_cdc.c struct smc_connection *conn = cdcpend->conn; conn 34 net/smc/smc_cdc.c if (!conn) conn 38 net/smc/smc_cdc.c smc = container_of(conn, struct smc_sock, conn); conn 41 net/smc/smc_cdc.c diff = smc_curs_diff(cdcpend->conn->sndbuf_desc->len, conn 42 net/smc/smc_cdc.c &cdcpend->conn->tx_curs_fin, conn 46 net/smc/smc_cdc.c atomic_add(diff, &cdcpend->conn->sndbuf_space); conn 49 net/smc/smc_cdc.c smc_curs_copy(&conn->tx_curs_fin, &cdcpend->cursor, conn); conn 55 net/smc/smc_cdc.c int smc_cdc_get_free_slot(struct smc_connection *conn, conn 60 net/smc/smc_cdc.c struct smc_link *link = &conn->lgr->lnk[SMC_SINGLE_LINK]; conn 66 net/smc/smc_cdc.c if (!conn->alert_token_local) conn 72 net/smc/smc_cdc.c static inline void smc_cdc_add_pending_send(struct smc_connection *conn, conn 84 net/smc/smc_cdc.c pend->conn = conn; conn 85 net/smc/smc_cdc.c pend->cursor = conn->tx_curs_sent; conn 86 net/smc/smc_cdc.c pend->p_cursor = conn->local_tx_ctrl.prod; conn 87 net/smc/smc_cdc.c pend->ctrl_seq = conn->tx_cdc_seq; conn 90 net/smc/smc_cdc.c int smc_cdc_msg_send(struct smc_connection *conn, conn 98 net/smc/smc_cdc.c link = &conn->lgr->lnk[SMC_SINGLE_LINK]; conn 100 net/smc/smc_cdc.c smc_cdc_add_pending_send(conn, pend); conn 102 net/smc/smc_cdc.c conn->tx_cdc_seq++; conn 103 net/smc/smc_cdc.c conn->local_tx_ctrl.seqno = conn->tx_cdc_seq; conn 104 net/smc/smc_cdc.c smc_host_msg_to_cdc((struct smc_cdc_msg *)wr_buf, conn, &cfed); conn 107 net/smc/smc_cdc.c smc_curs_copy(&conn->rx_curs_confirmed, &cfed, conn); conn 108 net/smc/smc_cdc.c conn->local_rx_ctrl.prod_flags.cons_curs_upd_req = 0; conn 114 net/smc/smc_cdc.c static int smcr_cdc_get_slot_and_msg_send(struct smc_connection *conn) conn 120 net/smc/smc_cdc.c rc = smc_cdc_get_free_slot(conn, &wr_buf, NULL, &pend); conn 124 net/smc/smc_cdc.c spin_lock_bh(&conn->send_lock); conn 125 net/smc/smc_cdc.c rc = smc_cdc_msg_send(conn, wr_buf, pend); conn 126 net/smc/smc_cdc.c spin_unlock_bh(&conn->send_lock); conn 130 net/smc/smc_cdc.c int smc_cdc_get_slot_and_msg_send(struct smc_connection *conn) conn 134 net/smc/smc_cdc.c if (conn->lgr->is_smcd) { conn 135 net/smc/smc_cdc.c spin_lock_bh(&conn->send_lock); conn 136 net/smc/smc_cdc.c rc = smcd_cdc_msg_send(conn); conn 137 net/smc/smc_cdc.c spin_unlock_bh(&conn->send_lock); conn 139 net/smc/smc_cdc.c rc = smcr_cdc_get_slot_and_msg_send(conn); conn 148 net/smc/smc_cdc.c struct smc_connection *conn = (struct smc_connection *)data; conn 152 net/smc/smc_cdc.c return cdc_pend->conn == conn; conn 160 net/smc/smc_cdc.c cdc_pend->conn = NULL; conn 163 net/smc/smc_cdc.c void smc_cdc_tx_dismiss_slots(struct smc_connection *conn) conn 165 net/smc/smc_cdc.c struct smc_link *link = &conn->lgr->lnk[SMC_SINGLE_LINK]; conn 169 net/smc/smc_cdc.c (unsigned long)conn); conn 176 net/smc/smc_cdc.c int smcd_cdc_msg_send(struct smc_connection *conn) conn 178 net/smc/smc_cdc.c struct smc_sock *smc = container_of(conn, struct smc_sock, conn); conn 185 net/smc/smc_cdc.c curs.acurs.counter = atomic64_read(&conn->local_tx_ctrl.prod.acurs); conn 188 net/smc/smc_cdc.c curs.acurs.counter = atomic64_read(&conn->local_tx_ctrl.cons.acurs); conn 191 net/smc/smc_cdc.c cdc.cons.prod_flags = conn->local_tx_ctrl.prod_flags; conn 192 net/smc/smc_cdc.c cdc.cons.conn_state_flags = conn->local_tx_ctrl.conn_state_flags; conn 193 net/smc/smc_cdc.c rc = smcd_tx_ism_write(conn, &cdc, sizeof(cdc), 0, 1); conn 196 net/smc/smc_cdc.c smc_curs_copy(&conn->rx_curs_confirmed, &curs, conn); conn 197 net/smc/smc_cdc.c conn->local_rx_ctrl.prod_flags.cons_curs_upd_req = 0; conn 199 net/smc/smc_cdc.c diff = smc_curs_diff(conn->sndbuf_desc->len, &conn->tx_curs_fin, conn 200 net/smc/smc_cdc.c &conn->tx_curs_sent); conn 203 net/smc/smc_cdc.c atomic_add(diff, &conn->sndbuf_space); conn 206 net/smc/smc_cdc.c smc_curs_copy(&conn->tx_curs_fin, &conn->tx_curs_sent, conn); conn 222 net/smc/smc_cdc.c struct smc_connection *conn = &smc->conn; conn 226 net/smc/smc_cdc.c smc_curs_copy(&conn->urg_curs, &conn->local_rx_ctrl.prod, conn); conn 227 net/smc/smc_cdc.c conn->urg_state = SMC_URG_VALID; conn 231 net/smc/smc_cdc.c base = (char *)conn->rmb_desc->cpu_addr + conn->rx_off; conn 232 net/smc/smc_cdc.c if (conn->urg_curs.count) conn 233 net/smc/smc_cdc.c conn->urg_rx_byte = *(base + conn->urg_curs.count - 1); conn 235 net/smc/smc_cdc.c conn->urg_rx_byte = *(base + conn->rmb_desc->len - 1); conn 243 net/smc/smc_cdc.c struct smc_connection *conn = &smc->conn; conn 246 net/smc/smc_cdc.c smc_curs_copy(&prod_old, &conn->local_rx_ctrl.prod, conn); conn 247 net/smc/smc_cdc.c smc_curs_copy(&cons_old, &conn->local_rx_ctrl.cons, conn); conn 248 net/smc/smc_cdc.c smc_cdc_msg_to_host(&conn->local_rx_ctrl, cdc, conn); conn 250 net/smc/smc_cdc.c diff_cons = smc_curs_diff(conn->peer_rmbe_size, &cons_old, conn 251 net/smc/smc_cdc.c &conn->local_rx_ctrl.cons); conn 257 net/smc/smc_cdc.c atomic_add(diff_cons, &conn->peer_rmbe_space); conn 262 net/smc/smc_cdc.c diff_prod = smc_curs_diff(conn->rmb_desc->len, &prod_old, conn 263 net/smc/smc_cdc.c &conn->local_rx_ctrl.prod); conn 265 net/smc/smc_cdc.c if (conn->local_rx_ctrl.prod_flags.urg_data_present) conn 269 net/smc/smc_cdc.c atomic_add(diff_prod, &conn->bytes_to_rcv); conn 274 net/smc/smc_cdc.c if (conn->local_rx_ctrl.prod_flags.write_blocked) conn 276 net/smc/smc_cdc.c if (conn->local_rx_ctrl.prod_flags.urg_data_pending) conn 277 net/smc/smc_cdc.c conn->urg_state = SMC_URG_NOTYET; conn 281 net/smc/smc_cdc.c if ((diff_cons && smc_tx_prepared_sends(conn)) || conn 282 net/smc/smc_cdc.c conn->local_rx_ctrl.prod_flags.cons_curs_upd_req || conn 283 net/smc/smc_cdc.c conn->local_rx_ctrl.prod_flags.urg_data_pending) conn 284 net/smc/smc_cdc.c smc_tx_sndbuf_nonempty(conn); conn 286 net/smc/smc_cdc.c if (diff_cons && conn->urg_tx_pend && conn 287 net/smc/smc_cdc.c atomic_read(&conn->peer_rmbe_space) == conn->peer_rmbe_size) { conn 289 net/smc/smc_cdc.c conn->urg_tx_pend = false; conn 293 net/smc/smc_cdc.c if (conn->local_rx_ctrl.conn_state_flags.peer_conn_abort) { conn 295 net/smc/smc_cdc.c conn->local_tx_ctrl.conn_state_flags.peer_conn_abort = 1; conn 297 net/smc/smc_cdc.c if (smc_cdc_rxed_any_close_or_senddone(conn)) { conn 303 net/smc/smc_cdc.c if (!schedule_work(&conn->close_work)) conn 326 net/smc/smc_cdc.c struct smc_connection *conn = (struct smc_connection *)data; conn 331 net/smc/smc_cdc.c if (!conn) conn 334 net/smc/smc_cdc.c data_cdc = (struct smcd_cdc_msg *)conn->rmb_desc->cpu_addr; conn 335 net/smc/smc_cdc.c smcd_curs_copy(&cdc.prod, &data_cdc->prod, conn); conn 336 net/smc/smc_cdc.c smcd_curs_copy(&cdc.cons, &data_cdc->cons, conn); conn 337 net/smc/smc_cdc.c smc = container_of(conn, struct smc_sock, conn); conn 344 net/smc/smc_cdc.c void smcd_cdc_rx_init(struct smc_connection *conn) conn 346 net/smc/smc_cdc.c tasklet_init(&conn->rx_tsklet, smcd_cdc_rx_tsklet, (unsigned long)conn); conn 355 net/smc/smc_cdc.c struct smc_connection *conn; conn 367 net/smc/smc_cdc.c conn = smc_lgr_find_conn(ntohl(cdc->token), lgr); conn 369 net/smc/smc_cdc.c if (!conn) conn 371 net/smc/smc_cdc.c smc = container_of(conn, struct smc_sock, conn); conn 375 net/smc/smc_cdc.c conn->local_rx_ctrl.seqno)) conn 77 net/smc/smc_cdc.h static inline bool smc_cdc_rxed_any_close(struct smc_connection *conn) conn 79 net/smc/smc_cdc.h return conn->local_rx_ctrl.conn_state_flags.peer_conn_abort || conn 80 net/smc/smc_cdc.h conn->local_rx_ctrl.conn_state_flags.peer_conn_closed; conn 84 net/smc/smc_cdc.h struct smc_connection *conn) conn 86 net/smc/smc_cdc.h return smc_cdc_rxed_any_close(conn) || conn 87 net/smc/smc_cdc.h conn->local_rx_ctrl.conn_state_flags.peer_done_writing; conn 102 net/smc/smc_cdc.h struct smc_connection *conn) conn 108 net/smc/smc_cdc.h spin_lock_irqsave(&conn->acurs_lock, flags); conn 110 net/smc/smc_cdc.h spin_unlock_irqrestore(&conn->acurs_lock, flags); conn 120 net/smc/smc_cdc.h struct smc_connection *conn) conn 125 net/smc/smc_cdc.h spin_lock_irqsave(&conn->acurs_lock, flags); conn 127 net/smc/smc_cdc.h spin_unlock_irqrestore(&conn->acurs_lock, flags); conn 135 net/smc/smc_cdc.h struct smc_connection *conn) conn 140 net/smc/smc_cdc.h spin_lock_irqsave(&conn->acurs_lock, flags); conn 142 net/smc/smc_cdc.h spin_unlock_irqrestore(&conn->acurs_lock, flags); conn 150 net/smc/smc_cdc.h struct smc_connection *conn) conn 155 net/smc/smc_cdc.h spin_lock_irqsave(&conn->acurs_lock, flags); conn 157 net/smc/smc_cdc.h spin_unlock_irqrestore(&conn->acurs_lock, flags); conn 215 net/smc/smc_cdc.h struct smc_connection *conn) conn 217 net/smc/smc_cdc.h smc_curs_copy(save, local, conn); conn 224 net/smc/smc_cdc.h struct smc_connection *conn, conn 227 net/smc/smc_cdc.h struct smc_host_cdc_msg *local = &conn->local_tx_ctrl; conn 233 net/smc/smc_cdc.h smc_host_cursor_to_cdc(&peer->prod, &local->prod, save, conn); conn 234 net/smc/smc_cdc.h smc_host_cursor_to_cdc(&peer->cons, &local->cons, save, conn); conn 241 net/smc/smc_cdc.h struct smc_connection *conn) conn 246 net/smc/smc_cdc.h smc_curs_copy(&old, local, conn); conn 247 net/smc/smc_cdc.h smc_curs_copy_net(&net, peer, conn); conn 255 net/smc/smc_cdc.h smc_curs_copy(local, &temp, conn); conn 260 net/smc/smc_cdc.h struct smc_connection *conn) conn 266 net/smc/smc_cdc.h smc_cdc_cursor_to_host(&local->prod, &peer->prod, conn); conn 267 net/smc/smc_cdc.h smc_cdc_cursor_to_host(&local->cons, &peer->cons, conn); conn 274 net/smc/smc_cdc.h struct smc_connection *conn) conn 280 net/smc/smc_cdc.h smc_curs_copy(&local->prod, &temp, conn); conn 284 net/smc/smc_cdc.h smc_curs_copy(&local->cons, &temp, conn); conn 291 net/smc/smc_cdc.h struct smc_connection *conn) conn 293 net/smc/smc_cdc.h if (conn->lgr->is_smcd) conn 294 net/smc/smc_cdc.h smcd_cdc_msg_to_host(local, (struct smcd_cdc_msg *)peer, conn); conn 296 net/smc/smc_cdc.h smcr_cdc_msg_to_host(local, peer, conn); conn 300 net/smc/smc_cdc.h struct smc_connection *conn; /* socket connection */ conn 306 net/smc/smc_cdc.h int smc_cdc_get_free_slot(struct smc_connection *conn, conn 310 net/smc/smc_cdc.h void smc_cdc_tx_dismiss_slots(struct smc_connection *conn); conn 311 net/smc/smc_cdc.h int smc_cdc_msg_send(struct smc_connection *conn, struct smc_wr_buf *wr_buf, conn 313 net/smc/smc_cdc.h int smc_cdc_get_slot_and_msg_send(struct smc_connection *conn); conn 314 net/smc/smc_cdc.h int smcd_cdc_msg_send(struct smc_connection *conn); conn 316 net/smc/smc_cdc.h void smcd_cdc_rx_init(struct smc_connection *conn); conn 351 net/smc/smc_clc.c smc->conn.lgr->sync_err = 1; conn 352 net/smc/smc_clc.c smc_lgr_terminate(smc->conn.lgr); conn 375 net/smc/smc_clc.c if (smc->conn.lgr && !smc->conn.lgr->is_smcd) conn 471 net/smc/smc_clc.c struct smc_connection *conn = &smc->conn; conn 483 net/smc/smc_clc.c if (smc->conn.lgr->is_smcd) { conn 489 net/smc/smc_clc.c cclc.gid = conn->lgr->smcd->local_gid; conn 490 net/smc/smc_clc.c cclc.token = conn->rmb_desc->token; conn 491 net/smc/smc_clc.c cclc.dmbe_size = conn->rmbe_size_short; conn 493 net/smc/smc_clc.c memcpy(&cclc.linkid, conn->lgr->id, SMC_LGR_ID_SIZE); conn 498 net/smc/smc_clc.c link = &conn->lgr->lnk[SMC_SINGLE_LINK]; conn 510 net/smc/smc_clc.c htonl(conn->rmb_desc->mr_rx[SMC_SINGLE_LINK]->rkey); conn 512 net/smc/smc_clc.c cclc.rmbe_alert_token = htonl(conn->alert_token_local); conn 514 net/smc/smc_clc.c cclc.rmbe_size = conn->rmbe_size_short; conn 516 net/smc/smc_clc.c (conn->rmb_desc->sgt[SMC_SINGLE_LINK].sgl)); conn 542 net/smc/smc_clc.c struct smc_connection *conn = &new_smc->conn; conn 555 net/smc/smc_clc.c if (new_smc->conn.lgr->is_smcd) { conn 561 net/smc/smc_clc.c aclc.gid = conn->lgr->smcd->local_gid; conn 562 net/smc/smc_clc.c aclc.token = conn->rmb_desc->token; conn 563 net/smc/smc_clc.c aclc.dmbe_size = conn->rmbe_size_short; conn 565 net/smc/smc_clc.c memcpy(&aclc.linkid, conn->lgr->id, SMC_LGR_ID_SIZE); conn 574 net/smc/smc_clc.c link = &conn->lgr->lnk[SMC_SINGLE_LINK]; conn 582 net/smc/smc_clc.c htonl(conn->rmb_desc->mr_rx[SMC_SINGLE_LINK]->rkey); conn 584 net/smc/smc_clc.c aclc.rmbe_alert_token = htonl(conn->alert_token_local); conn 586 net/smc/smc_clc.c aclc.rmbe_size = conn->rmbe_size_short, conn 588 net/smc/smc_clc.c (conn->rmb_desc->sgt[SMC_SINGLE_LINK].sgl)); conn 58 net/smc/smc_close.c if (!smc_tx_prepared_sends(&smc->conn)) conn 67 net/smc/smc_close.c !smc_tx_prepared_sends(&smc->conn) || conn 85 net/smc/smc_close.c static int smc_close_wr(struct smc_connection *conn) conn 87 net/smc/smc_close.c conn->local_tx_ctrl.conn_state_flags.peer_done_writing = 1; conn 89 net/smc/smc_close.c return smc_cdc_get_slot_and_msg_send(conn); conn 92 net/smc/smc_close.c static int smc_close_final(struct smc_connection *conn) conn 94 net/smc/smc_close.c if (atomic_read(&conn->bytes_to_rcv)) conn 95 net/smc/smc_close.c conn->local_tx_ctrl.conn_state_flags.peer_conn_abort = 1; conn 97 net/smc/smc_close.c conn->local_tx_ctrl.conn_state_flags.peer_conn_closed = 1; conn 99 net/smc/smc_close.c return smc_cdc_get_slot_and_msg_send(conn); conn 102 net/smc/smc_close.c static int smc_close_abort(struct smc_connection *conn) conn 104 net/smc/smc_close.c conn->local_tx_ctrl.conn_state_flags.peer_conn_abort = 1; conn 106 net/smc/smc_close.c return smc_cdc_get_slot_and_msg_send(conn); conn 117 net/smc/smc_close.c &smc->conn.local_tx_ctrl.conn_state_flags; conn 130 net/smc/smc_close.c cancel_delayed_work_sync(&smc->conn.tx_work); conn 136 net/smc/smc_close.c if (!smc_cdc_rxed_any_close(&smc->conn)) conn 141 net/smc/smc_close.c cancel_delayed_work_sync(&smc->conn.tx_work); conn 171 net/smc/smc_close.c static inline bool smc_close_sent_any_close(struct smc_connection *conn) conn 173 net/smc/smc_close.c return conn->local_tx_ctrl.conn_state_flags.peer_conn_abort || conn 174 net/smc/smc_close.c conn->local_tx_ctrl.conn_state_flags.peer_conn_closed; conn 180 net/smc/smc_close.c &smc->conn.local_tx_ctrl.conn_state_flags; conn 181 net/smc/smc_close.c struct smc_connection *conn = &smc->conn; conn 213 net/smc/smc_close.c cancel_delayed_work_sync(&conn->tx_work); conn 217 net/smc/smc_close.c rc = smc_close_final(conn); conn 229 net/smc/smc_close.c !smc_close_sent_any_close(conn)) { conn 231 net/smc/smc_close.c rc = smc_close_final(conn); conn 239 net/smc/smc_close.c if (!smc_cdc_rxed_any_close(conn)) conn 242 net/smc/smc_close.c cancel_delayed_work_sync(&conn->tx_work); conn 248 net/smc/smc_close.c rc = smc_close_final(conn); conn 251 net/smc/smc_close.c if (smc_cdc_rxed_any_close(conn)) { conn 263 net/smc/smc_close.c !smc_close_sent_any_close(conn)) { conn 265 net/smc/smc_close.c rc = smc_close_final(conn); conn 275 net/smc/smc_close.c smc_close_abort(conn); conn 292 net/smc/smc_close.c &smc->conn.local_tx_ctrl.conn_state_flags; conn 308 net/smc/smc_close.c !smc_close_sent_any_close(&smc->conn)) conn 335 net/smc/smc_close.c struct smc_connection *conn = container_of(work, conn 338 net/smc/smc_close.c struct smc_sock *smc = container_of(conn, struct smc_sock, conn); conn 347 net/smc/smc_close.c if (!conn->alert_token_local) { conn 353 net/smc/smc_close.c rxflags = &conn->local_rx_ctrl.conn_state_flags; conn 358 net/smc/smc_close.c cancel_delayed_work_sync(&conn->tx_work); conn 379 net/smc/smc_close.c if (!smc_cdc_rxed_any_close(conn)) conn 382 net/smc/smc_close.c smc_close_sent_any_close(conn)) { conn 392 net/smc/smc_close.c if (smc_cdc_rxed_any_close(conn)) { conn 419 net/smc/smc_close.c smc_conn_free(conn); conn 432 net/smc/smc_close.c struct smc_connection *conn = &smc->conn; conn 448 net/smc/smc_close.c cancel_delayed_work_sync(&conn->tx_work); conn 453 net/smc/smc_close.c rc = smc_close_wr(conn); conn 460 net/smc/smc_close.c if (!smc_cdc_rxed_any_close(conn)) conn 463 net/smc/smc_close.c cancel_delayed_work_sync(&conn->tx_work); conn 468 net/smc/smc_close.c rc = smc_close_wr(conn); conn 492 net/smc/smc_close.c INIT_WORK(&smc->conn.close_work, smc_close_passive_work); conn 67 net/smc/smc_core.c static void smc_lgr_add_alert_token(struct smc_connection *conn) conn 70 net/smc/smc_core.c u32 token = conn->alert_token_local; conn 72 net/smc/smc_core.c link = &conn->lgr->conns_all.rb_node; conn 84 net/smc/smc_core.c rb_link_node(&conn->alert_node, parent, link); conn 85 net/smc/smc_core.c rb_insert_color(&conn->alert_node, &conn->lgr->conns_all); conn 93 net/smc/smc_core.c static void smc_lgr_register_conn(struct smc_connection *conn) conn 95 net/smc/smc_core.c struct smc_sock *smc = container_of(conn, struct smc_sock, conn); conn 102 net/smc/smc_core.c while (!conn->alert_token_local) { conn 103 net/smc/smc_core.c conn->alert_token_local = atomic_inc_return(&nexttoken); conn 104 net/smc/smc_core.c if (smc_lgr_find_conn(conn->alert_token_local, conn->lgr)) conn 105 net/smc/smc_core.c conn->alert_token_local = 0; conn 107 net/smc/smc_core.c smc_lgr_add_alert_token(conn); conn 108 net/smc/smc_core.c conn->lgr->conns_num++; conn 113 net/smc/smc_core.c static void __smc_lgr_unregister_conn(struct smc_connection *conn) conn 115 net/smc/smc_core.c struct smc_sock *smc = container_of(conn, struct smc_sock, conn); conn 116 net/smc/smc_core.c struct smc_link_group *lgr = conn->lgr; conn 118 net/smc/smc_core.c rb_erase(&conn->alert_node, &lgr->conns_all); conn 120 net/smc/smc_core.c conn->alert_token_local = 0; conn 126 net/smc/smc_core.c static void smc_lgr_unregister_conn(struct smc_connection *conn) conn 128 net/smc/smc_core.c struct smc_link_group *lgr = conn->lgr; conn 133 net/smc/smc_core.c if (conn->alert_token_local) { conn 134 net/smc/smc_core.c __smc_lgr_unregister_conn(conn); conn 278 net/smc/smc_core.c smc->conn.lgr = lgr; conn 307 net/smc/smc_core.c static void smc_buf_unuse(struct smc_connection *conn, conn 310 net/smc/smc_core.c if (conn->sndbuf_desc) conn 311 net/smc/smc_core.c conn->sndbuf_desc->used = 0; conn 312 net/smc/smc_core.c if (conn->rmb_desc) { conn 313 net/smc/smc_core.c if (!conn->rmb_desc->regerr) { conn 318 net/smc/smc_core.c conn->rmb_desc); conn 320 net/smc/smc_core.c conn->rmb_desc->used = 0; conn 324 net/smc/smc_core.c list_del(&conn->rmb_desc->list); conn 327 net/smc/smc_core.c smc_buf_free(lgr, true, conn->rmb_desc); conn 333 net/smc/smc_core.c void smc_conn_free(struct smc_connection *conn) conn 335 net/smc/smc_core.c struct smc_link_group *lgr = conn->lgr; conn 340 net/smc/smc_core.c smc_ism_unset_conn(conn); conn 341 net/smc/smc_core.c tasklet_kill(&conn->rx_tsklet); conn 343 net/smc/smc_core.c smc_cdc_tx_dismiss_slots(conn); conn 345 net/smc/smc_core.c smc_lgr_unregister_conn(conn); conn 346 net/smc/smc_core.c smc_buf_unuse(conn, lgr); /* allow buffer reuse */ conn 347 net/smc/smc_core.c conn->lgr = NULL; conn 460 net/smc/smc_core.c struct smc_connection *conn; conn 475 net/smc/smc_core.c conn = rb_entry(node, struct smc_connection, alert_node); conn 476 net/smc/smc_core.c smc = container_of(conn, struct smc_sock, conn); conn 478 net/smc/smc_core.c conn->local_tx_ctrl.conn_state_flags.peer_conn_abort = 1; conn 479 net/smc/smc_core.c __smc_lgr_unregister_conn(conn); conn 480 net/smc/smc_core.c conn->lgr = NULL; conn 482 net/smc/smc_core.c if (!schedule_work(&conn->close_work)) conn 614 net/smc/smc_core.c struct smc_connection *conn = &smc->conn; conn 638 net/smc/smc_core.c conn->lgr = lgr; conn 639 net/smc/smc_core.c smc_lgr_register_conn(conn); /* add smc conn to lgr */ conn 663 net/smc/smc_core.c lgr = conn->lgr; conn 665 net/smc/smc_core.c smc_lgr_register_conn(conn); /* add smc conn to lgr */ conn 668 net/smc/smc_core.c conn->local_tx_ctrl.common.type = SMC_CDC_MSG_TYPE; conn 669 net/smc/smc_core.c conn->local_tx_ctrl.len = SMC_WR_TX_SIZE; conn 670 net/smc/smc_core.c conn->urg_state = SMC_URG_READ; conn 672 net/smc/smc_core.c conn->rx_off = sizeof(struct smcd_cdc_msg); conn 673 net/smc/smc_core.c smcd_cdc_rx_init(conn); /* init tasklet for this conn */ conn 676 net/smc/smc_core.c spin_lock_init(&conn->acurs_lock); conn 838 net/smc/smc_core.c struct smc_connection *conn = &smc->conn; conn 839 net/smc/smc_core.c struct smc_link_group *lgr = conn->lgr; conn 894 net/smc/smc_core.c conn->rmb_desc = buf_desc; conn 895 net/smc/smc_core.c conn->rmbe_size_short = bufsize_short; conn 897 net/smc/smc_core.c atomic_set(&conn->bytes_to_rcv, 0); conn 898 net/smc/smc_core.c conn->rmbe_update_limit = conn 901 net/smc/smc_core.c smc_ism_set_conn(conn); /* map RMB/smcd_dev to conn */ conn 903 net/smc/smc_core.c conn->sndbuf_desc = buf_desc; conn 905 net/smc/smc_core.c atomic_set(&conn->sndbuf_space, bufsize); conn 910 net/smc/smc_core.c void smc_sndbuf_sync_sg_for_cpu(struct smc_connection *conn) conn 912 net/smc/smc_core.c struct smc_link_group *lgr = conn->lgr; conn 914 net/smc/smc_core.c if (!conn->lgr || conn->lgr->is_smcd) conn 917 net/smc/smc_core.c conn->sndbuf_desc, DMA_TO_DEVICE); conn 920 net/smc/smc_core.c void smc_sndbuf_sync_sg_for_device(struct smc_connection *conn) conn 922 net/smc/smc_core.c struct smc_link_group *lgr = conn->lgr; conn 924 net/smc/smc_core.c if (!conn->lgr || conn->lgr->is_smcd) conn 927 net/smc/smc_core.c conn->sndbuf_desc, DMA_TO_DEVICE); conn 930 net/smc/smc_core.c void smc_rmb_sync_sg_for_cpu(struct smc_connection *conn) conn 932 net/smc/smc_core.c struct smc_link_group *lgr = conn->lgr; conn 934 net/smc/smc_core.c if (!conn->lgr || conn->lgr->is_smcd) conn 937 net/smc/smc_core.c conn->rmb_desc, DMA_FROM_DEVICE); conn 940 net/smc/smc_core.c void smc_rmb_sync_sg_for_device(struct smc_connection *conn) conn 942 net/smc/smc_core.c struct smc_link_group *lgr = conn->lgr; conn 944 net/smc/smc_core.c if (!conn->lgr || conn->lgr->is_smcd) conn 947 net/smc/smc_core.c conn->rmb_desc, DMA_FROM_DEVICE); conn 967 net/smc/smc_core.c smc_buf_free(smc->conn.lgr, false, smc->conn.sndbuf_desc); conn 1025 net/smc/smc_core.c int smc_rmb_rtoken_handling(struct smc_connection *conn, conn 1028 net/smc/smc_core.c conn->rtoken_idx = smc_rtoken_add(conn->lgr, clc->rmb_dma_addr, conn 1030 net/smc/smc_core.c if (conn->rtoken_idx < 0) conn 1031 net/smc/smc_core.c return conn->rtoken_idx; conn 294 net/smc/smc_core.h int smc_rmb_rtoken_handling(struct smc_connection *conn, conn 298 net/smc/smc_core.h void smc_sndbuf_sync_sg_for_cpu(struct smc_connection *conn); conn 299 net/smc/smc_core.h void smc_sndbuf_sync_sg_for_device(struct smc_connection *conn); conn 300 net/smc/smc_core.h void smc_rmb_sync_sg_for_cpu(struct smc_connection *conn); conn 301 net/smc/smc_core.h void smc_rmb_sync_sg_for_device(struct smc_connection *conn); conn 304 net/smc/smc_core.h void smc_conn_free(struct smc_connection *conn); conn 306 net/smc/smc_core.h void smcd_conn_free(struct smc_connection *conn); conn 96 net/smc/smc_diag.c else if (smc->conn.lgr && smc->conn.lgr->is_smcd) conn 110 net/smc/smc_diag.c smc->conn.alert_token_local) { conn 111 net/smc/smc_diag.c struct smc_connection *conn = &smc->conn; conn 113 net/smc/smc_diag.c .token = conn->alert_token_local, conn 114 net/smc/smc_diag.c .sndbuf_size = conn->sndbuf_desc ? conn 115 net/smc/smc_diag.c conn->sndbuf_desc->len : 0, conn 116 net/smc/smc_diag.c .rmbe_size = conn->rmb_desc ? conn->rmb_desc->len : 0, conn 117 net/smc/smc_diag.c .peer_rmbe_size = conn->peer_rmbe_size, conn 119 net/smc/smc_diag.c .rx_prod.wrap = conn->local_rx_ctrl.prod.wrap, conn 120 net/smc/smc_diag.c .rx_prod.count = conn->local_rx_ctrl.prod.count, conn 121 net/smc/smc_diag.c .rx_cons.wrap = conn->local_rx_ctrl.cons.wrap, conn 122 net/smc/smc_diag.c .rx_cons.count = conn->local_rx_ctrl.cons.count, conn 124 net/smc/smc_diag.c .tx_prod.wrap = conn->local_tx_ctrl.prod.wrap, conn 125 net/smc/smc_diag.c .tx_prod.count = conn->local_tx_ctrl.prod.count, conn 126 net/smc/smc_diag.c .tx_cons.wrap = conn->local_tx_ctrl.cons.wrap, conn 127 net/smc/smc_diag.c .tx_cons.count = conn->local_tx_ctrl.cons.count, conn 130 net/smc/smc_diag.c *(u8 *)&conn->local_tx_ctrl.prod_flags, conn 132 net/smc/smc_diag.c *(u8 *)&conn->local_tx_ctrl.conn_state_flags, conn 133 net/smc/smc_diag.c .rx_prod_flags = *(u8 *)&conn->local_rx_ctrl.prod_flags, conn 135 net/smc/smc_diag.c *(u8 *)&conn->local_rx_ctrl.conn_state_flags, conn 137 net/smc/smc_diag.c .tx_prep.wrap = conn->tx_curs_prep.wrap, conn 138 net/smc/smc_diag.c .tx_prep.count = conn->tx_curs_prep.count, conn 139 net/smc/smc_diag.c .tx_sent.wrap = conn->tx_curs_sent.wrap, conn 140 net/smc/smc_diag.c .tx_sent.count = conn->tx_curs_sent.count, conn 141 net/smc/smc_diag.c .tx_fin.wrap = conn->tx_curs_fin.wrap, conn 142 net/smc/smc_diag.c .tx_fin.count = conn->tx_curs_fin.count, conn 149 net/smc/smc_diag.c if (smc->conn.lgr && !smc->conn.lgr->is_smcd && conn 151 net/smc/smc_diag.c !list_empty(&smc->conn.lgr->list)) { conn 153 net/smc/smc_diag.c .role = smc->conn.lgr->role, conn 154 net/smc/smc_diag.c .lnk[0].ibport = smc->conn.lgr->lnk[0].ibport, conn 155 net/smc/smc_diag.c .lnk[0].link_id = smc->conn.lgr->lnk[0].link_id, conn 159 net/smc/smc_diag.c smc->conn.lgr->lnk[0].smcibdev->ibdev->name, conn 160 net/smc/smc_diag.c sizeof(smc->conn.lgr->lnk[0].smcibdev->ibdev->name)); conn 162 net/smc/smc_diag.c smc->conn.lgr->lnk[0].gid); conn 164 net/smc/smc_diag.c smc->conn.lgr->lnk[0].peer_gid); conn 169 net/smc/smc_diag.c if (smc->conn.lgr && smc->conn.lgr->is_smcd && conn 171 net/smc/smc_diag.c !list_empty(&smc->conn.lgr->list)) { conn 172 net/smc/smc_diag.c struct smc_connection *conn = &smc->conn; conn 174 net/smc/smc_diag.c .linkid = *((u32 *)conn->lgr->id), conn 175 net/smc/smc_diag.c .peer_gid = conn->lgr->peer_gid, conn 176 net/smc/smc_diag.c .my_gid = conn->lgr->smcd->local_gid, conn 177 net/smc/smc_diag.c .token = conn->rmb_desc->token, conn 178 net/smc/smc_diag.c .peer_token = conn->peer_token conn 42 net/smc/smc_ism.c void smc_ism_set_conn(struct smc_connection *conn) conn 46 net/smc/smc_ism.c spin_lock_irqsave(&conn->lgr->smcd->lock, flags); conn 47 net/smc/smc_ism.c conn->lgr->smcd->conn[conn->rmb_desc->sba_idx] = conn; conn 48 net/smc/smc_ism.c spin_unlock_irqrestore(&conn->lgr->smcd->lock, flags); conn 52 net/smc/smc_ism.c void smc_ism_unset_conn(struct smc_connection *conn) conn 56 net/smc/smc_ism.c if (!conn->rmb_desc) conn 59 net/smc/smc_ism.c spin_lock_irqsave(&conn->lgr->smcd->lock, flags); conn 60 net/smc/smc_ism.c conn->lgr->smcd->conn[conn->rmb_desc->sba_idx] = NULL; conn 61 net/smc/smc_ism.c spin_unlock_irqrestore(&conn->lgr->smcd->lock, flags); conn 262 net/smc/smc_ism.c kfree(smcd->conn); conn 274 net/smc/smc_ism.c smcd->conn = kcalloc(max_dmbs, sizeof(struct smc_connection *), conn 276 net/smc/smc_ism.c if (!smcd->conn) { conn 293 net/smc/smc_ism.c kfree(smcd->conn); conn 365 net/smc/smc_ism.c struct smc_connection *conn = NULL; conn 369 net/smc/smc_ism.c conn = smcd->conn[dmbno]; conn 370 net/smc/smc_ism.c if (conn) conn 371 net/smc/smc_ism.c tasklet_schedule(&conn->rx_tsklet); conn 39 net/smc/smc_ism.h void smc_ism_set_conn(struct smc_connection *conn); conn 40 net/smc/smc_ism.h void smc_ism_unset_conn(struct smc_connection *conn); conn 56 net/smc/smc_rx.c struct smc_connection *conn = &smc->conn; conn 61 net/smc/smc_rx.c smc_curs_add(conn->rmb_desc->len, &cons, len); conn 64 net/smc/smc_rx.c if (conn->urg_state == SMC_URG_VALID || conn->urg_rx_skip_pend) { conn 65 net/smc/smc_rx.c diff = smc_curs_comp(conn->rmb_desc->len, &cons, conn 66 net/smc/smc_rx.c &conn->urg_curs); conn 71 net/smc/smc_rx.c conn->urg_state = SMC_URG_READ; conn 77 net/smc/smc_rx.c smc_curs_add(conn->rmb_desc->len, &cons, 1); conn 78 net/smc/smc_rx.c conn->urg_rx_skip_pend = false; conn 81 net/smc/smc_rx.c conn->urg_state = SMC_URG_READ; conn 85 net/smc/smc_rx.c smc_curs_copy(&conn->local_tx_ctrl.cons, &cons, conn); conn 89 net/smc/smc_rx.c smc_tx_consumer_update(conn, force); conn 96 net/smc/smc_rx.c struct smc_connection *conn = &smc->conn; conn 99 net/smc/smc_rx.c smc_curs_copy(&cons, &conn->local_tx_ctrl.cons, conn); conn 113 net/smc/smc_rx.c struct smc_connection *conn; conn 120 net/smc/smc_rx.c conn = &smc->conn; conn 124 net/smc/smc_rx.c if (atomic_sub_and_test(priv->len, &conn->splice_pending)) conn 164 net/smc/smc_rx.c partial.offset = src - (char *)smc->conn.rmb_desc->cpu_addr; conn 170 net/smc/smc_rx.c spd.pages = &smc->conn.rmb_desc->pages; conn 178 net/smc/smc_rx.c get_page(smc->conn.rmb_desc->pages); conn 179 net/smc/smc_rx.c atomic_add(bytes, &smc->conn.splice_pending); conn 185 net/smc/smc_rx.c static int smc_rx_data_available_and_no_splice_pend(struct smc_connection *conn) conn 187 net/smc/smc_rx.c return atomic_read(&conn->bytes_to_rcv) && conn 188 net/smc/smc_rx.c !atomic_read(&conn->splice_pending); conn 200 net/smc/smc_rx.c int (*fcrit)(struct smc_connection *conn)) conn 203 net/smc/smc_rx.c struct smc_connection *conn = &smc->conn; conn 207 net/smc/smc_rx.c if (fcrit(conn)) conn 214 net/smc/smc_rx.c fcrit(conn), conn 224 net/smc/smc_rx.c struct smc_connection *conn = &smc->conn; conn 230 net/smc/smc_rx.c !(conn->urg_state == SMC_URG_VALID) || conn 231 net/smc/smc_rx.c conn->urg_state == SMC_URG_READ) conn 234 net/smc/smc_rx.c if (conn->urg_state == SMC_URG_VALID) { conn 236 net/smc/smc_rx.c smc->conn.urg_state = SMC_URG_READ; conn 240 net/smc/smc_rx.c rc = memcpy_to_msg(msg, &conn->urg_rx_byte, 1); conn 242 net/smc/smc_rx.c smc_curs_copy(&cons, &conn->local_tx_ctrl.cons, conn); conn 243 net/smc/smc_rx.c if (smc_curs_diff(conn->rmb_desc->len, &cons, conn 244 net/smc/smc_rx.c &conn->urg_curs) > 1) conn 245 net/smc/smc_rx.c conn->urg_rx_skip_pend = true; conn 266 net/smc/smc_rx.c struct smc_connection *conn = &smc->conn; conn 268 net/smc/smc_rx.c if (smc_rx_data_available(conn)) conn 270 net/smc/smc_rx.c else if (conn->urg_state == SMC_URG_VALID) conn 288 net/smc/smc_rx.c struct smc_connection *conn = &smc->conn; conn 289 net/smc/smc_rx.c int (*func)(struct smc_connection *conn); conn 311 net/smc/smc_rx.c rcvbuf_base = conn->rx_off + conn->rmb_desc->cpu_addr; conn 321 net/smc/smc_rx.c conn->local_tx_ctrl.conn_state_flags.peer_conn_abort) { conn 359 net/smc/smc_rx.c if (!smc_rx_data_available(conn)) { conn 367 net/smc/smc_rx.c readable = atomic_read(&conn->bytes_to_rcv); conn 368 net/smc/smc_rx.c splbytes = atomic_read(&conn->splice_pending); conn 378 net/smc/smc_rx.c smc_curs_copy(&cons, &conn->local_tx_ctrl.cons, conn); conn 381 net/smc/smc_rx.c smc_curs_add(conn->rmb_desc->len, &cons, splbytes); conn 382 net/smc/smc_rx.c if (conn->urg_state == SMC_URG_VALID && conn 390 net/smc/smc_rx.c chunk_len = min_t(size_t, copylen, conn->rmb_desc->len - conn 394 net/smc/smc_rx.c smc_rmb_sync_sg_for_cpu(conn); conn 409 net/smc/smc_rx.c smc_rmb_sync_sg_for_device(conn); conn 423 net/smc/smc_rx.c smc_rmb_sync_sg_for_device(conn); conn 429 net/smc/smc_rx.c atomic_sub(copylen, &conn->bytes_to_rcv); conn 444 net/smc/smc_rx.c atomic_set(&smc->conn.splice_pending, 0); conn 445 net/smc/smc_rx.c smc->conn.urg_state = SMC_URG_READ; conn 25 net/smc/smc_rx.h int (*fcrit)(struct smc_connection *conn)); conn 26 net/smc/smc_rx.h static inline int smc_rx_data_available(struct smc_connection *conn) conn 28 net/smc/smc_rx.h return atomic_read(&conn->bytes_to_rcv); conn 47 net/smc/smc_tx.c if (atomic_read(&smc->conn.sndbuf_space) && sock) { conn 77 net/smc/smc_tx.c struct smc_connection *conn = &smc->conn; conn 89 net/smc/smc_tx.c conn->local_tx_ctrl.conn_state_flags.peer_done_writing) { conn 93 net/smc/smc_tx.c if (smc_cdc_rxed_any_close(conn)) { conn 108 net/smc/smc_tx.c if (atomic_read(&conn->sndbuf_space) && !conn->urg_tx_pend) conn 114 net/smc/smc_tx.c smc_cdc_rxed_any_close(conn) || conn 115 net/smc/smc_tx.c (atomic_read(&conn->sndbuf_space) && conn 116 net/smc/smc_tx.c !conn->urg_tx_pend), conn 137 net/smc/smc_tx.c struct smc_connection *conn = &smc->conn; conn 158 net/smc/smc_tx.c conn->local_tx_ctrl.conn_state_flags.peer_conn_abort) conn 160 net/smc/smc_tx.c if (smc_cdc_rxed_any_close(conn)) conn 164 net/smc/smc_tx.c conn->local_tx_ctrl.prod_flags.urg_data_pending = 1; conn 166 net/smc/smc_tx.c if (!atomic_read(&conn->sndbuf_space) || conn->urg_tx_pend) { conn 177 net/smc/smc_tx.c writespace = atomic_read(&conn->sndbuf_space); conn 181 net/smc/smc_tx.c sndbuf_base = conn->sndbuf_desc->cpu_addr; conn 182 net/smc/smc_tx.c smc_curs_copy(&prep, &conn->tx_curs_prep, conn); conn 186 net/smc/smc_tx.c chunk_len = min_t(size_t, copylen, conn->sndbuf_desc->len - conn 190 net/smc/smc_tx.c smc_sndbuf_sync_sg_for_cpu(conn); conn 195 net/smc/smc_tx.c smc_sndbuf_sync_sg_for_device(conn); conn 210 net/smc/smc_tx.c smc_sndbuf_sync_sg_for_device(conn); conn 212 net/smc/smc_tx.c smc_curs_add(conn->sndbuf_desc->len, &prep, copylen); conn 213 net/smc/smc_tx.c smc_curs_copy(&conn->tx_curs_prep, &prep, conn); conn 216 net/smc/smc_tx.c atomic_sub(copylen, &conn->sndbuf_space); conn 223 net/smc/smc_tx.c conn->urg_tx_pend = true; conn 225 net/smc/smc_tx.c (atomic_read(&conn->sndbuf_space) > conn 226 net/smc/smc_tx.c (conn->sndbuf_desc->len >> 1))) conn 230 net/smc/smc_tx.c schedule_delayed_work(&conn->tx_work, conn 233 net/smc/smc_tx.c smc_tx_sndbuf_nonempty(conn); conn 249 net/smc/smc_tx.c int smcd_tx_ism_write(struct smc_connection *conn, void *data, size_t len, conn 256 net/smc/smc_tx.c pos.token = conn->peer_token; conn 257 net/smc/smc_tx.c pos.index = conn->peer_rmbe_idx; conn 258 net/smc/smc_tx.c pos.offset = conn->tx_off + offset; conn 260 net/smc/smc_tx.c rc = smc_ism_write(conn->lgr->smcd, &pos, data, len); conn 262 net/smc/smc_tx.c conn->local_tx_ctrl.conn_state_flags.peer_conn_abort = 1; conn 267 net/smc/smc_tx.c static int smc_tx_rdma_write(struct smc_connection *conn, int peer_rmbe_offset, conn 270 net/smc/smc_tx.c struct smc_link_group *lgr = conn->lgr; conn 278 net/smc/smc_tx.c lgr->rtokens[conn->rtoken_idx][SMC_SINGLE_LINK].dma_addr + conn 280 net/smc/smc_tx.c conn->tx_off + conn 283 net/smc/smc_tx.c rdma_wr->rkey = lgr->rtokens[conn->rtoken_idx][SMC_SINGLE_LINK].rkey; conn 286 net/smc/smc_tx.c conn->local_tx_ctrl.conn_state_flags.peer_conn_abort = 1; conn 293 net/smc/smc_tx.c static inline void smc_tx_advance_cursors(struct smc_connection *conn, conn 298 net/smc/smc_tx.c smc_curs_add(conn->peer_rmbe_size, prod, len); conn 302 net/smc/smc_tx.c atomic_sub(len, &conn->peer_rmbe_space); conn 305 net/smc/smc_tx.c smc_curs_add(conn->sndbuf_desc->len, sent, len); conn 309 net/smc/smc_tx.c static int smcr_tx_rdma_writes(struct smc_connection *conn, size_t len, conn 315 net/smc/smc_tx.c sg_dma_address(conn->sndbuf_desc->sgt[SMC_SINGLE_LINK].sgl); conn 333 net/smc/smc_tx.c if (src_off >= conn->sndbuf_desc->len) conn 334 net/smc/smc_tx.c src_off -= conn->sndbuf_desc->len; conn 342 net/smc/smc_tx.c rc = smc_tx_rdma_write(conn, dst_off, num_sges, conn 352 net/smc/smc_tx.c src_len = min_t(int, dst_len, conn->sndbuf_desc->len - conn 360 net/smc/smc_tx.c static int smcd_tx_rdma_writes(struct smc_connection *conn, size_t len, conn 370 net/smc/smc_tx.c void *data = conn->sndbuf_desc->cpu_addr + src_off; conn 372 net/smc/smc_tx.c rc = smcd_tx_ism_write(conn, data, src_len, dst_off + conn 378 net/smc/smc_tx.c if (src_off >= conn->sndbuf_desc->len) conn 379 net/smc/smc_tx.c src_off -= conn->sndbuf_desc->len; conn 393 net/smc/smc_tx.c src_len = min_t(int, dst_len, conn->sndbuf_desc->len - src_off); conn 402 net/smc/smc_tx.c static int smc_tx_rdma_writes(struct smc_connection *conn, conn 412 net/smc/smc_tx.c smc_curs_copy(&sent, &conn->tx_curs_sent, conn); conn 413 net/smc/smc_tx.c smc_curs_copy(&prep, &conn->tx_curs_prep, conn); conn 415 net/smc/smc_tx.c to_send = smc_curs_diff(conn->sndbuf_desc->len, &sent, &prep); conn 421 net/smc/smc_tx.c rmbespace = atomic_read(&conn->peer_rmbe_space); conn 424 net/smc/smc_tx.c smc_curs_copy(&prod, &conn->local_tx_ctrl.prod, conn); conn 425 net/smc/smc_tx.c smc_curs_copy(&cons, &conn->local_rx_ctrl.cons, conn); conn 428 net/smc/smc_tx.c pflags = &conn->local_tx_ctrl.prod_flags; conn 442 net/smc/smc_tx.c conn->peer_rmbe_size - prod.count, len); conn 451 net/smc/smc_tx.c if (sent.count + dst_len <= conn->sndbuf_desc->len) { conn 456 net/smc/smc_tx.c src_len = conn->sndbuf_desc->len - sent.count; conn 459 net/smc/smc_tx.c if (conn->lgr->is_smcd) conn 460 net/smc/smc_tx.c rc = smcd_tx_rdma_writes(conn, len, sent.count, src_len, conn 463 net/smc/smc_tx.c rc = smcr_tx_rdma_writes(conn, len, sent.count, src_len, conn 468 net/smc/smc_tx.c if (conn->urg_tx_pend && len == to_send) conn 470 net/smc/smc_tx.c smc_tx_advance_cursors(conn, &prod, &sent, len); conn 472 net/smc/smc_tx.c smc_curs_copy(&conn->local_tx_ctrl.prod, &prod, conn); conn 474 net/smc/smc_tx.c smc_curs_copy(&conn->tx_curs_sent, &sent, conn);/* src: local sndbuf */ conn 482 net/smc/smc_tx.c static int smcr_tx_sndbuf_nonempty(struct smc_connection *conn) conn 484 net/smc/smc_tx.c struct smc_cdc_producer_flags *pflags = &conn->local_tx_ctrl.prod_flags; conn 490 net/smc/smc_tx.c rc = smc_cdc_get_free_slot(conn, &wr_buf, &wr_rdma_buf, &pend); conn 494 net/smc/smc_tx.c container_of(conn, struct smc_sock, conn); conn 499 net/smc/smc_tx.c if (conn->alert_token_local) /* connection healthy */ conn 500 net/smc/smc_tx.c mod_delayed_work(system_wq, &conn->tx_work, conn 506 net/smc/smc_tx.c spin_lock_bh(&conn->send_lock); conn 508 net/smc/smc_tx.c rc = smc_tx_rdma_writes(conn, wr_rdma_buf); conn 510 net/smc/smc_tx.c smc_wr_tx_put_slot(&conn->lgr->lnk[SMC_SINGLE_LINK], conn 516 net/smc/smc_tx.c rc = smc_cdc_msg_send(conn, wr_buf, pend); conn 523 net/smc/smc_tx.c spin_unlock_bh(&conn->send_lock); conn 527 net/smc/smc_tx.c static int smcd_tx_sndbuf_nonempty(struct smc_connection *conn) conn 529 net/smc/smc_tx.c struct smc_cdc_producer_flags *pflags = &conn->local_tx_ctrl.prod_flags; conn 532 net/smc/smc_tx.c spin_lock_bh(&conn->send_lock); conn 534 net/smc/smc_tx.c rc = smc_tx_rdma_writes(conn, NULL); conn 536 net/smc/smc_tx.c rc = smcd_cdc_msg_send(conn); conn 542 net/smc/smc_tx.c spin_unlock_bh(&conn->send_lock); conn 546 net/smc/smc_tx.c int smc_tx_sndbuf_nonempty(struct smc_connection *conn) conn 550 net/smc/smc_tx.c if (conn->lgr->is_smcd) conn 551 net/smc/smc_tx.c rc = smcd_tx_sndbuf_nonempty(conn); conn 553 net/smc/smc_tx.c rc = smcr_tx_sndbuf_nonempty(conn); conn 557 net/smc/smc_tx.c struct smc_sock *smc = container_of(conn, struct smc_sock, conn 558 net/smc/smc_tx.c conn); conn 569 net/smc/smc_tx.c struct smc_connection *conn = container_of(to_delayed_work(work), conn 572 net/smc/smc_tx.c struct smc_sock *smc = container_of(conn, struct smc_sock, conn); conn 577 net/smc/smc_tx.c !conn->alert_token_local || conn 578 net/smc/smc_tx.c conn->local_rx_ctrl.conn_state_flags.peer_conn_abort) conn 581 net/smc/smc_tx.c rc = smc_tx_sndbuf_nonempty(conn); conn 582 net/smc/smc_tx.c if (!rc && conn->local_rx_ctrl.prod_flags.write_blocked && conn 583 net/smc/smc_tx.c !atomic_read(&conn->bytes_to_rcv)) conn 584 net/smc/smc_tx.c conn->local_rx_ctrl.prod_flags.write_blocked = 0; conn 590 net/smc/smc_tx.c void smc_tx_consumer_update(struct smc_connection *conn, bool force) conn 593 net/smc/smc_tx.c int sender_free = conn->rmb_desc->len; conn 596 net/smc/smc_tx.c smc_curs_copy(&cons, &conn->local_tx_ctrl.cons, conn); conn 597 net/smc/smc_tx.c smc_curs_copy(&cfed, &conn->rx_curs_confirmed, conn); conn 598 net/smc/smc_tx.c to_confirm = smc_curs_diff(conn->rmb_desc->len, &cfed, &cons); conn 599 net/smc/smc_tx.c if (to_confirm > conn->rmbe_update_limit) { conn 600 net/smc/smc_tx.c smc_curs_copy(&prod, &conn->local_rx_ctrl.prod, conn); conn 601 net/smc/smc_tx.c sender_free = conn->rmb_desc->len - conn 602 net/smc/smc_tx.c smc_curs_diff_large(conn->rmb_desc->len, conn 606 net/smc/smc_tx.c if (conn->local_rx_ctrl.prod_flags.cons_curs_upd_req || conn 608 net/smc/smc_tx.c ((to_confirm > conn->rmbe_update_limit) && conn 609 net/smc/smc_tx.c ((sender_free <= (conn->rmb_desc->len / 2)) || conn 610 net/smc/smc_tx.c conn->local_rx_ctrl.prod_flags.write_blocked))) { conn 611 net/smc/smc_tx.c if ((smc_cdc_get_slot_and_msg_send(conn) < 0) && conn 612 net/smc/smc_tx.c conn->alert_token_local) { /* connection healthy */ conn 613 net/smc/smc_tx.c schedule_delayed_work(&conn->tx_work, conn 618 net/smc/smc_tx.c if (conn->local_rx_ctrl.prod_flags.write_blocked && conn 619 net/smc/smc_tx.c !atomic_read(&conn->bytes_to_rcv)) conn 620 net/smc/smc_tx.c conn->local_rx_ctrl.prod_flags.write_blocked = 0; conn 21 net/smc/smc_tx.h static inline int smc_tx_prepared_sends(struct smc_connection *conn) conn 25 net/smc/smc_tx.h smc_curs_copy(&sent, &conn->tx_curs_sent, conn); conn 26 net/smc/smc_tx.h smc_curs_copy(&prep, &conn->tx_curs_prep, conn); conn 27 net/smc/smc_tx.h return smc_curs_diff(conn->sndbuf_desc->len, &sent, &prep); conn 33 net/smc/smc_tx.h int smc_tx_sndbuf_nonempty(struct smc_connection *conn); conn 35 net/smc/smc_tx.h void smc_tx_consumer_update(struct smc_connection *conn, bool force); conn 36 net/smc/smc_tx.h int smcd_tx_ism_write(struct smc_connection *conn, void *data, size_t len, conn 251 net/sunrpc/xprtrdma/svc_rdma_transport.c handle_connect_req(cma_id, &event->param.conn); conn 260 net/sunrpc/xprtrdma/verbs.c rpcrdma_update_connect_private(r_xprt, &event->param.conn); conn 532 net/tipc/node.c struct tipc_sock_conn *conn; conn 543 net/tipc/node.c conn = kmalloc(sizeof(*conn), GFP_ATOMIC); conn 544 net/tipc/node.c if (!conn) { conn 548 net/tipc/node.c conn->peer_node = dnode; conn 549 net/tipc/node.c conn->port = port; conn 550 net/tipc/node.c conn->peer_port = peer_port; conn 553 net/tipc/node.c list_add_tail(&conn->list, &node->conn_sks); conn 563 net/tipc/node.c struct tipc_sock_conn *conn, *safe; conn 573 net/tipc/node.c list_for_each_entry_safe(conn, safe, &node->conn_sks, list) { conn 574 net/tipc/node.c if (port != conn->port) conn 576 net/tipc/node.c list_del(&conn->list); conn 577 net/tipc/node.c kfree(conn); conn 1323 net/tipc/node.c struct tipc_sock_conn *conn, *safe; conn 1347 net/tipc/node.c list_for_each_entry_safe(conn, safe, conns, list) { conn 1350 net/tipc/node.c conn->peer_node, conn->port, conn 1351 net/tipc/node.c conn->peer_port, TIPC_ERR_NO_NODE); conn 1354 net/tipc/node.c list_del(&conn->list); conn 1355 net/tipc/node.c kfree(conn); conn 56 net/wireless/sme.c if (!wdev->conn) conn 59 net/wireless/sme.c kfree(wdev->conn->ie); conn 60 net/wireless/sme.c kfree(wdev->conn); conn 61 net/wireless/sme.c wdev->conn = NULL; conn 76 net/wireless/sme.c if (wdev->conn->params.channel) conn 87 net/wireless/sme.c if (wdev->conn->params.channel) { conn 88 net/wireless/sme.c enum nl80211_band band = wdev->conn->params.channel->band; conn 96 net/wireless/sme.c request->channels[0] = wdev->conn->params.channel; conn 122 net/wireless/sme.c memcpy(request->ssids[0].ssid, wdev->conn->params.ssid, conn 123 net/wireless/sme.c wdev->conn->params.ssid_len); conn 124 net/wireless/sme.c request->ssids[0].ssid_len = wdev->conn->params.ssid_len; conn 136 net/wireless/sme.c wdev->conn->state = CFG80211_CONN_SCANNING; conn 156 net/wireless/sme.c if (!wdev->conn) conn 159 net/wireless/sme.c params = &wdev->conn->params; conn 161 net/wireless/sme.c switch (wdev->conn->state) { conn 170 net/wireless/sme.c wdev->conn->state = CFG80211_CONN_AUTHENTICATING; conn 184 net/wireless/sme.c wdev->conn->state = CFG80211_CONN_ASSOCIATING; conn 185 net/wireless/sme.c if (wdev->conn->prev_bssid_valid) conn 186 net/wireless/sme.c req.prev_bssid = wdev->conn->prev_bssid; conn 247 net/wireless/sme.c if (!wdev->conn || conn 248 net/wireless/sme.c wdev->conn->state == CFG80211_CONN_CONNECTED) { conn 252 net/wireless/sme.c if (wdev->conn->params.bssid) { conn 253 net/wireless/sme.c memcpy(bssid_buf, wdev->conn->params.bssid, ETH_ALEN); conn 280 net/wireless/sme.c bss = cfg80211_get_bss(wdev->wiphy, wdev->conn->params.channel, conn 281 net/wireless/sme.c wdev->conn->params.bssid, conn 282 net/wireless/sme.c wdev->conn->params.ssid, conn 283 net/wireless/sme.c wdev->conn->params.ssid_len, conn 285 net/wireless/sme.c IEEE80211_PRIVACY(wdev->conn->params.privacy)); conn 289 net/wireless/sme.c memcpy(wdev->conn->bssid, bss->bssid, ETH_ALEN); conn 290 net/wireless/sme.c wdev->conn->params.bssid = wdev->conn->bssid; conn 291 net/wireless/sme.c wdev->conn->params.channel = bss->channel; conn 292 net/wireless/sme.c wdev->conn->state = CFG80211_CONN_AUTHENTICATE_NEXT; conn 306 net/wireless/sme.c if (!wdev->conn) conn 309 net/wireless/sme.c if (wdev->conn->state != CFG80211_CONN_SCANNING && conn 310 net/wireless/sme.c wdev->conn->state != CFG80211_CONN_SCAN_AGAIN) conn 338 net/wireless/sme.c if (!wdev->conn || wdev->conn->state == CFG80211_CONN_CONNECTED) conn 342 net/wireless/sme.c wdev->conn->auto_auth && conn 343 net/wireless/sme.c wdev->conn->params.auth_type != NL80211_AUTHTYPE_NETWORK_EAP) { conn 345 net/wireless/sme.c switch (wdev->conn->params.auth_type) { conn 348 net/wireless/sme.c wdev->conn->params.auth_type = conn 351 net/wireless/sme.c wdev->conn->params.auth_type = conn 355 net/wireless/sme.c wdev->conn->params.auth_type = conn 360 net/wireless/sme.c wdev->conn->params.auth_type = conn 364 net/wireless/sme.c wdev->conn->state = CFG80211_CONN_AUTHENTICATE_NEXT; conn 374 net/wireless/sme.c } else if (wdev->conn->state == CFG80211_CONN_AUTHENTICATING) { conn 375 net/wireless/sme.c wdev->conn->state = CFG80211_CONN_ASSOCIATE_NEXT; conn 384 net/wireless/sme.c if (!wdev->conn) conn 388 net/wireless/sme.c wdev->conn->state = CFG80211_CONN_CONNECTED; conn 392 net/wireless/sme.c if (wdev->conn->prev_bssid_valid) { conn 398 net/wireless/sme.c wdev->conn->prev_bssid_valid = false; conn 399 net/wireless/sme.c wdev->conn->state = CFG80211_CONN_ASSOCIATE_NEXT; conn 404 net/wireless/sme.c wdev->conn->state = CFG80211_CONN_ASSOC_FAILED; conn 418 net/wireless/sme.c if (!wdev->conn) conn 421 net/wireless/sme.c wdev->conn->state = CFG80211_CONN_AUTH_FAILED_TIMEOUT; conn 429 net/wireless/sme.c if (!wdev->conn) conn 432 net/wireless/sme.c wdev->conn->state = CFG80211_CONN_DEAUTH; conn 440 net/wireless/sme.c if (!wdev->conn) conn 443 net/wireless/sme.c wdev->conn->state = CFG80211_CONN_ASSOC_FAILED_TIMEOUT; conn 451 net/wireless/sme.c if (!wdev->conn) conn 454 net/wireless/sme.c wdev->conn->state = CFG80211_CONN_ABANDON; conn 533 net/wireless/sme.c if (WARN_ON(wdev->conn)) conn 536 net/wireless/sme.c wdev->conn = kzalloc(sizeof(*wdev->conn), GFP_KERNEL); conn 537 net/wireless/sme.c if (!wdev->conn) conn 543 net/wireless/sme.c memcpy(&wdev->conn->params, connect, sizeof(*connect)); conn 545 net/wireless/sme.c wdev->conn->params.bssid = wdev->conn->bssid; conn 546 net/wireless/sme.c memcpy(wdev->conn->bssid, connect->bssid, ETH_ALEN); conn 550 net/wireless/sme.c &wdev->conn->ie, conn 551 net/wireless/sme.c &wdev->conn->params.ie_len)) { conn 552 net/wireless/sme.c kfree(wdev->conn); conn 553 net/wireless/sme.c wdev->conn = NULL; conn 556 net/wireless/sme.c wdev->conn->params.ie = wdev->conn->ie; conn 559 net/wireless/sme.c wdev->conn->auto_auth = true; conn 561 net/wireless/sme.c wdev->conn->params.auth_type = conn 564 net/wireless/sme.c wdev->conn->auto_auth = false; conn 567 net/wireless/sme.c wdev->conn->params.ssid = wdev->ssid; conn 568 net/wireless/sme.c wdev->conn->params.ssid_len = wdev->ssid_len; conn 574 net/wireless/sme.c memcpy(wdev->conn->prev_bssid, prev_bssid, ETH_ALEN); conn 575 net/wireless/sme.c wdev->conn->prev_bssid_valid = true; conn 595 net/wireless/sme.c wdev->conn->state = CFG80211_CONN_SCAN_AGAIN; conn 610 net/wireless/sme.c if (!wdev->conn) conn 616 net/wireless/sme.c if (wdev->conn->state == CFG80211_CONN_SCANNING || conn 617 net/wireless/sme.c wdev->conn->state == CFG80211_CONN_SCAN_AGAIN) { conn 624 net/wireless/sme.c wdev->conn->params.bssid, conn 652 net/wireless/sme.c if (wdev->conn || wdev->current_bss || conn 1277 net/wireless/sme.c if (wdev->conn) conn 92 net/wireless/wext-sme.c if (wdev->conn) { conn 168 net/wireless/wext-sme.c if (wdev->conn) { conn 261 net/wireless/wext-sme.c if (wdev->conn) { conn 348 net/wireless/wext-sme.c if (wdev->conn) { conn 380 sound/firewire/bebob/bebob_stream.c struct cmp_connection *conn; conn 385 sound/firewire/bebob/bebob_stream.c conn = &bebob->out_conn; conn 387 sound/firewire/bebob/bebob_stream.c conn = &bebob->in_conn; conn 389 sound/firewire/bebob/bebob_stream.c err = cmp_connection_check_used(conn, &used); conn 393 sound/firewire/bebob/bebob_stream.c (conn->direction == CMP_OUTPUT) ? 'o' : 'i', conn 394 sound/firewire/bebob/bebob_stream.c conn->pcr_index); conn 433 sound/firewire/bebob/bebob_stream.c struct cmp_connection *conn; conn 437 sound/firewire/bebob/bebob_stream.c conn = &bebob->in_conn; conn 439 sound/firewire/bebob/bebob_stream.c conn = &bebob->out_conn; conn 450 sound/firewire/bebob/bebob_stream.c conn->resources.channel, conn->speed); conn 458 sound/firewire/bebob/bebob_stream.c struct cmp_connection *conn; conn 464 sound/firewire/bebob/bebob_stream.c conn = &bebob->out_conn; conn 468 sound/firewire/bebob/bebob_stream.c conn = &bebob->in_conn; conn 472 sound/firewire/bebob/bebob_stream.c err = cmp_connection_init(conn, bebob->unit, dir_conn, 0); conn 478 sound/firewire/bebob/bebob_stream.c cmp_connection_destroy(conn); conn 538 sound/firewire/bebob/bebob_stream.c struct cmp_connection *conn; conn 543 sound/firewire/bebob/bebob_stream.c conn = &bebob->out_conn; conn 546 sound/firewire/bebob/bebob_stream.c conn = &bebob->in_conn; conn 554 sound/firewire/bebob/bebob_stream.c return cmp_connection_reserve(conn, amdtp_stream_get_max_payload(stream)); conn 13 sound/firewire/fireworks/fireworks_stream.c struct cmp_connection *conn; conn 19 sound/firewire/fireworks/fireworks_stream.c conn = &efw->out_conn; conn 23 sound/firewire/fireworks/fireworks_stream.c conn = &efw->in_conn; conn 28 sound/firewire/fireworks/fireworks_stream.c err = cmp_connection_init(conn, efw->unit, c_dir, 0); conn 35 sound/firewire/fireworks/fireworks_stream.c cmp_connection_destroy(conn); conn 67 sound/firewire/fireworks/fireworks_stream.c struct cmp_connection *conn; conn 71 sound/firewire/fireworks/fireworks_stream.c conn = &efw->out_conn; conn 73 sound/firewire/fireworks/fireworks_stream.c conn = &efw->in_conn; conn 76 sound/firewire/fireworks/fireworks_stream.c err = cmp_connection_establish(conn); conn 82 sound/firewire/fireworks/fireworks_stream.c conn->resources.channel, conn->speed); conn 84 sound/firewire/fireworks/fireworks_stream.c cmp_connection_break(conn); conn 106 sound/firewire/fireworks/fireworks_stream.c struct cmp_connection *conn; conn 111 sound/firewire/fireworks/fireworks_stream.c conn = &efw->out_conn; conn 113 sound/firewire/fireworks/fireworks_stream.c conn = &efw->in_conn; conn 115 sound/firewire/fireworks/fireworks_stream.c err = cmp_connection_check_used(conn, &used); conn 119 sound/firewire/fireworks/fireworks_stream.c (conn->direction == CMP_OUTPUT) ? 'o' : 'i', conn 120 sound/firewire/fireworks/fireworks_stream.c conn->pcr_index); conn 163 sound/firewire/fireworks/fireworks_stream.c struct cmp_connection *conn; conn 169 sound/firewire/fireworks/fireworks_stream.c conn = &efw->out_conn; conn 173 sound/firewire/fireworks/fireworks_stream.c conn = &efw->in_conn; conn 181 sound/firewire/fireworks/fireworks_stream.c return cmp_connection_reserve(conn, amdtp_stream_get_max_payload(stream)); conn 105 sound/firewire/oxfw/oxfw-stream.c struct cmp_connection *conn; conn 109 sound/firewire/oxfw/oxfw-stream.c conn = &oxfw->in_conn; conn 111 sound/firewire/oxfw/oxfw-stream.c conn = &oxfw->out_conn; conn 113 sound/firewire/oxfw/oxfw-stream.c err = cmp_connection_establish(conn); conn 118 sound/firewire/oxfw/oxfw-stream.c conn->resources.channel, conn->speed); conn 120 sound/firewire/oxfw/oxfw-stream.c cmp_connection_break(conn); conn 130 sound/firewire/oxfw/oxfw-stream.c struct cmp_connection *conn; conn 135 sound/firewire/oxfw/oxfw-stream.c conn = &oxfw->out_conn; conn 137 sound/firewire/oxfw/oxfw-stream.c conn = &oxfw->in_conn; conn 139 sound/firewire/oxfw/oxfw-stream.c err = cmp_connection_check_used(conn, &used); conn 143 sound/firewire/oxfw/oxfw-stream.c (conn->direction == CMP_OUTPUT) ? 'o' : 'i', conn 144 sound/firewire/oxfw/oxfw-stream.c conn->pcr_index); conn 153 sound/firewire/oxfw/oxfw-stream.c struct cmp_connection *conn; conn 159 sound/firewire/oxfw/oxfw-stream.c conn = &oxfw->out_conn; conn 163 sound/firewire/oxfw/oxfw-stream.c conn = &oxfw->in_conn; conn 168 sound/firewire/oxfw/oxfw-stream.c err = cmp_connection_init(conn, oxfw->unit, c_dir, 0); conn 174 sound/firewire/oxfw/oxfw-stream.c cmp_connection_destroy(conn); conn 198 sound/firewire/oxfw/oxfw-stream.c struct cmp_connection *conn; conn 205 sound/firewire/oxfw/oxfw-stream.c conn = &oxfw->in_conn; conn 209 sound/firewire/oxfw/oxfw-stream.c conn = &oxfw->out_conn; conn 242 sound/firewire/oxfw/oxfw-stream.c return cmp_connection_reserve(conn, amdtp_stream_get_max_payload(stream)); conn 395 sound/firewire/oxfw/oxfw-stream.c struct cmp_connection *conn; conn 398 sound/firewire/oxfw/oxfw-stream.c conn = &oxfw->out_conn; conn 400 sound/firewire/oxfw/oxfw-stream.c conn = &oxfw->in_conn; conn 403 sound/firewire/oxfw/oxfw-stream.c cmp_connection_destroy(conn); conn 192 sound/pci/hda/hda_auto_parser.c short assoc, loc, conn, dev; conn 202 sound/pci/hda/hda_auto_parser.c conn = get_defcfg_connect(def_conf); conn 203 sound/pci/hda/hda_auto_parser.c if (conn == AC_JACK_PORT_NONE) conn 210 sound/pci/hda/hda_auto_parser.c if (conn == AC_JACK_PORT_FIXED || conn 211 sound/pci/hda/hda_auto_parser.c conn == AC_JACK_PORT_BOTH) conn 449 sound/pci/hda/hda_auto_parser.c unsigned int conn = get_defcfg_connect(def_conf); conn 450 sound/pci/hda/hda_auto_parser.c if (conn == AC_JACK_PORT_NONE) conn 453 sound/pci/hda/hda_auto_parser.c if (conn == AC_JACK_PORT_FIXED || conn == AC_JACK_PORT_BOTH) conn 267 sound/pci/hda/hda_codec.c const hda_nid_t *conn; conn 270 sound/pci/hda/hda_codec.c nums = snd_hda_get_conn_list(codec, mux, &conn); conn 272 sound/pci/hda/hda_codec.c if (conn[i] == nid) conn 282 sound/pci/hda/hda_codec.c unsigned int type = get_wcaps_type(get_wcaps(codec, conn[i])); conn 285 sound/pci/hda/hda_codec.c if (snd_hda_get_conn_index(codec, conn[i], nid, recursive) >= 0) conn 383 sound/pci/hda/hda_generic.c const hda_nid_t *conn; conn 391 sound/pci/hda/hda_generic.c nums = snd_hda_get_conn_list(codec, to_nid, &conn); conn 393 sound/pci/hda/hda_generic.c if (conn[i] != from_nid) { conn 398 sound/pci/hda/hda_generic.c get_wcaps_type(get_wcaps(codec, conn[i])) != AC_WID_AUD_OUT || conn 399 sound/pci/hda/hda_generic.c is_dac_already_used(codec, conn[i])) conn 410 sound/pci/hda/hda_generic.c type = get_wcaps_type(get_wcaps(codec, conn[i])); conn 414 sound/pci/hda/hda_generic.c if (__parse_nid_path(codec, from_nid, conn[i], conn 421 sound/pci/hda/hda_generic.c path->path[path->depth] = conn[i]; conn 684 sound/pci/hda/hda_generic.c hda_nid_t conn; conn 692 sound/pci/hda/hda_generic.c if (snd_hda_get_connections(codec, nid, &conn, 1) < 0) conn 694 sound/pci/hda/hda_generic.c return !!(get_wcaps(codec, conn) & AC_WCAP_STEREO); conn 780 sound/pci/hda/hda_generic.c const hda_nid_t *conn; conn 785 sound/pci/hda/hda_generic.c nums = snd_hda_get_conn_list(codec, nid, &conn); conn 804 sound/pci/hda/hda_generic.c if (conn[n] != spec->mixer_merge_nid) conn 4963 sound/pci/hda/hda_generic.c const hda_nid_t *conn; conn 4966 sound/pci/hda/hda_generic.c nums = snd_hda_get_conn_list(codec, mix, &conn); conn 4972 sound/pci/hda/hda_generic.c else if (nid_has_volume(codec, conn[i], HDA_OUTPUT)) conn 4973 sound/pci/hda/hda_generic.c update_amp(codec, conn[i], HDA_OUTPUT, 0, conn 439 sound/pci/hda/hda_jack.c unsigned int def_conf, conn; conn 447 sound/pci/hda/hda_jack.c conn = get_defcfg_connect(def_conf); conn 448 sound/pci/hda/hda_jack.c if (conn == AC_JACK_PORT_NONE) conn 450 sound/pci/hda/hda_jack.c phantom_jack = (conn != AC_JACK_PORT_COMPLEX) || conn 115 sound/pci/hda/hda_proc.c hda_nid_t conn; conn 126 sound/pci/hda/hda_proc.c if (snd_hda_get_raw_connections(codec, nid, &conn, 1) < 0) conn 129 sound/pci/hda/hda_proc.c wcaps = snd_hda_param_read(codec, conn, AC_PAR_AUDIO_WIDGET_CAP); conn 600 sound/pci/hda/hda_proc.c unsigned int wid_type, hda_nid_t *conn, conn 617 sound/pci/hda/hda_proc.c snd_iprintf(buffer, " 0x%02x", conn[c]); conn 627 sound/pci/hda/hda_proc.c memcmp(list, conn, conn_len) != 0)) { conn 774 sound/pci/hda/hda_proc.c hda_nid_t *conn = NULL; conn 814 sound/pci/hda/hda_proc.c conn = kmalloc_array(conn_len, conn 817 sound/pci/hda/hda_proc.c if (!conn) conn 819 sound/pci/hda/hda_proc.c if (snd_hda_get_raw_connections(codec, nid, conn, conn 889 sound/pci/hda/hda_proc.c conn, conn_len); conn 897 sound/pci/hda/hda_proc.c kfree(conn); conn 1959 sound/pci/hda/patch_realtek.c static const hda_nid_t conn[] = { 0x0c, 0x0d, 0x0e, 0x0f, 0x26 }; conn 1960 sound/pci/hda/patch_realtek.c snd_hda_override_conn_list(codec, 0x14, ARRAY_SIZE(conn), conn); conn 1961 sound/pci/hda/patch_realtek.c snd_hda_override_conn_list(codec, 0x15, ARRAY_SIZE(conn), conn); conn 1962 sound/pci/hda/patch_realtek.c snd_hda_override_conn_list(codec, 0x18, ARRAY_SIZE(conn), conn); conn 1963 sound/pci/hda/patch_realtek.c snd_hda_override_conn_list(codec, 0x1a, ARRAY_SIZE(conn), conn); conn 5788 sound/pci/hda/patch_realtek.c static const hda_nid_t conn[] = { 0x02, 0x03 }; conn 5789 sound/pci/hda/patch_realtek.c snd_hda_override_conn_list(codec, 0x17, ARRAY_SIZE(conn), conn); conn 5798 sound/pci/hda/patch_realtek.c static const hda_nid_t conn[] = { 0x02 }; conn 5799 sound/pci/hda/patch_realtek.c snd_hda_override_conn_list(codec, 0x17, ARRAY_SIZE(conn), conn); conn 816 sound/pci/hda/patch_via.c hda_nid_t conn[8]; conn 821 sound/pci/hda/patch_via.c nums = snd_hda_get_connections(codec, spec->gen.mixer_nid, conn, conn 822 sound/pci/hda/patch_via.c ARRAY_SIZE(conn) - 1); conn 824 sound/pci/hda/patch_via.c if (get_wcaps_type(get_wcaps(codec, conn[i])) == AC_WID_AUD_OUT) conn 833 sound/pci/hda/patch_via.c conn[nums++] = nid; conn 836 sound/pci/hda/patch_via.c nums, conn); conn 219 tools/testing/selftests/net/reuseport_bpf.c int epfd, conn, i, sport, expected; conn 247 tools/testing/selftests/net/reuseport_bpf.c conn = accept(ev.data.fd, NULL, NULL); conn 248 tools/testing/selftests/net/reuseport_bpf.c if (conn < 0) conn 250 tools/testing/selftests/net/reuseport_bpf.c i = recvmsg(conn, &msg, 0); conn 251 tools/testing/selftests/net/reuseport_bpf.c close(conn);