void cxgb3i_conn_tx_open(struct s3_conn *c3cn) { struct iscsi_conn *conn = c3cn->user_data; cxgb3i_tx_debug("cn 0x%p.\n", c3cn); if (conn) { cxgb3i_tx_debug("cn 0x%p, cid %d.\n", c3cn, conn->id); iscsi_conn_queue_work(conn); } }
/** * iscsi_write_space - Called when more output buffer space is available * @sk: socket space is available for **/ static void iscsi_sw_tcp_write_space(struct sock *sk) { struct iscsi_conn *conn = (struct iscsi_conn*)sk->sk_user_data; struct iscsi_tcp_conn *tcp_conn = conn->dd_data; struct iscsi_sw_tcp_conn *tcp_sw_conn = tcp_conn->dd_data; tcp_sw_conn->old_write_space(sk); ISCSI_SW_TCP_DBG(conn, "iscsi_write_space\n"); iscsi_conn_queue_work(conn); }
/** * iscsi_write_space - Called when more output buffer space is available * @sk: socket space is available for **/ static void iscsi_sw_tcp_write_space(struct sock *sk) { struct iscsi_conn *conn; struct iscsi_tcp_conn *tcp_conn; struct iscsi_sw_tcp_conn *tcp_sw_conn; void (*old_write_space)(struct sock *); read_lock_bh(&sk->sk_callback_lock); conn = sk->sk_user_data; if (!conn) { read_unlock_bh(&sk->sk_callback_lock); return; } tcp_conn = conn->dd_data; tcp_sw_conn = tcp_conn->dd_data; old_write_space = tcp_sw_conn->old_write_space; read_unlock_bh(&sk->sk_callback_lock); old_write_space(sk); ISCSI_SW_TCP_DBG(conn, "iscsi_write_space\n"); iscsi_conn_queue_work(conn); }