• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/scsi/

Lines Matching defs:conn

103 inline void iscsi_conn_queue_work(struct iscsi_conn *conn)
105 struct Scsi_Host *shost = conn->session->host;
109 queue_work(ihost->workq, &conn->xmitwork);
162 struct iscsi_conn *conn = task->conn;
176 if (left > conn->max_xmit_dlength) {
177 hton24(hdr->dlength, conn->max_xmit_dlength);
178 r2t->data_count = conn->max_xmit_dlength;
185 conn->dataout_pdus_cnt++;
235 ISCSI_DBG_SESSION(task->conn->session,
261 ISCSI_DBG_SESSION(task->conn->session,
284 struct iscsi_conn *conn = task->conn;
285 struct iscsi_tm *tmf = &conn->tmhdr;
288 if (conn->tmf_state == TMF_INITIAL)
308 iscsi_conn_printk(KERN_INFO, conn,
320 if (conn->session->fast_abort) {
321 iscsi_conn_printk(KERN_INFO, conn,
338 ISCSI_DBG_SESSION(conn->session,
360 struct iscsi_conn *conn = task->conn;
361 struct iscsi_session *session = conn->session;
372 if (conn->session->tt->alloc_pdu) {
373 rc = conn->session->tt->alloc_pdu(task, ISCSI_OP_SCSI_CMD);
385 task->conn->session->age);
394 hdr->exp_statsn = cpu_to_be32(conn->exp_statsn);
438 conn->max_xmit_dlength);
441 conn->max_xmit_dlength);
451 r2t->exp_statsn = cpu_to_be32(conn->exp_statsn);
482 conn->scsicmd_pdus_cnt++;
487 "write" : "read", conn->id, sc, sc->cmnd[0],
505 struct iscsi_conn *conn = task->conn;
506 struct iscsi_session *session = conn->session;
518 if (conn->login_task == task)
550 struct iscsi_session *session = task->conn->session;
567 struct iscsi_conn *conn = task->conn;
569 ISCSI_DBG_SESSION(conn->session,
582 if (conn->task == task)
583 conn->task = NULL;
585 if (conn->ping_task == task)
586 conn->ping_task = NULL;
606 struct iscsi_conn *conn = task->conn;
608 ISCSI_DBG_SESSION(conn->session, "[itt 0x%x]\n", task->itt);
610 conn->last_recv = jiffies;
611 __iscsi_update_cmdsn(conn->session, exp_cmdsn, max_cmdsn);
624 struct iscsi_conn *conn = task->conn;
642 conn->session->queued_cmdsn--;
661 static int iscsi_prep_mgmt_task(struct iscsi_conn *conn,
664 struct iscsi_session *session = conn->session;
669 if (conn->session->state == ISCSI_STATE_LOGGING_OUT)
673 nop->exp_statsn = cpu_to_be32(conn->exp_statsn);
687 if (conn->c_stage == ISCSI_CONN_STARTED &&
708 __iscsi_conn_send_pdu(struct iscsi_conn *conn, struct iscsi_hdr *hdr,
711 struct iscsi_session *session = conn->session;
727 if (conn->login_task->state != ISCSI_TASK_FREE) {
728 iscsi_conn_printk(KERN_ERR, conn, "Login/Text in "
733 task = conn->login_task;
738 BUG_ON(conn->c_stage == ISCSI_CONN_INITIAL_STAGE);
739 BUG_ON(conn->c_stage == ISCSI_CONN_STOPPED);
751 task->conn = conn;
762 if (conn->session->tt->alloc_pdu) {
763 if (conn->session->tt->alloc_pdu(task, hdr->opcode)) {
764 iscsi_conn_printk(KERN_ERR, conn, "Could not allocate "
779 task->conn->session->age);
783 if (iscsi_prep_mgmt_task(conn, task))
789 list_add_tail(&task->running, &conn->mgmtqueue);
790 iscsi_conn_queue_work(conn);
803 struct iscsi_conn *conn = cls_conn->dd_data;
804 struct iscsi_session *session = conn->session;
808 if (!__iscsi_conn_send_pdu(conn, hdr, data, data_size))
817 * @conn: iscsi connection
826 static void iscsi_scsi_cmd_rsp(struct iscsi_conn *conn, struct iscsi_hdr *hdr,
831 struct iscsi_session *session = conn->session;
835 conn->exp_statsn = be32_to_cpu(rhdr->statsn) + 1;
849 iscsi_conn_printk(KERN_ERR, conn,
894 conn->scsirsp_pdus_cnt++;
900 * @conn: iscsi connection
905 iscsi_data_in_rsp(struct iscsi_conn *conn, struct iscsi_hdr *hdr,
914 iscsi_update_cmdsn(conn->session, (struct iscsi_nopin *)hdr);
916 conn->exp_statsn = be32_to_cpu(rhdr->statsn) + 1;
929 ISCSI_DBG_SESSION(conn->session, "data in with status done "
932 conn->scsirsp_pdus_cnt++;
936 static void iscsi_tmf_rsp(struct iscsi_conn *conn, struct iscsi_hdr *hdr)
940 conn->exp_statsn = be32_to_cpu(hdr->statsn) + 1;
941 conn->tmfrsp_pdus_cnt++;
943 if (conn->tmf_state != TMF_QUEUED)
947 conn->tmf_state = TMF_SUCCESS;
949 conn->tmf_state = TMF_NOT_FOUND;
951 conn->tmf_state = TMF_FAILED;
952 wake_up(&conn->ehwait);
955 static void iscsi_send_nopout(struct iscsi_conn *conn, struct iscsi_nopin *rhdr)
960 if (!rhdr && conn->ping_task)
974 task = __iscsi_conn_send_pdu(conn, (struct iscsi_hdr *)&hdr, NULL, 0);
976 iscsi_conn_printk(KERN_ERR, conn, "Could not send nopout\n");
979 conn->ping_task = task;
980 conn->last_ping = jiffies;
987 struct iscsi_conn *conn = task->conn;
990 if (conn->ping_task != task) {
995 if (iscsi_recv_pdu(conn->cls_conn, (struct iscsi_hdr *)nop,
999 mod_timer(&conn->transport_timer, jiffies + conn->recv_timeout);
1004 static int iscsi_handle_reject(struct iscsi_conn *conn, struct iscsi_hdr *hdr,
1011 conn->exp_statsn = be32_to_cpu(reject->statsn) + 1;
1015 iscsi_conn_printk(KERN_ERR, conn, "Cannot handle rejected "
1026 iscsi_conn_printk(KERN_ERR, conn,
1032 iscsi_conn_printk(KERN_ERR, conn,
1039 * a target can handle one immediate TMF per conn).
1052 iscsi_send_nopout(conn,
1060 task = iscsi_itt_to_task(conn, rejected_pdu.itt);
1062 iscsi_conn_printk(KERN_ERR, conn,
1073 iscsi_conn_printk(KERN_ERR, conn,
1084 * @conn: iscsi connection
1092 struct iscsi_task *iscsi_itt_to_task(struct iscsi_conn *conn, itt_t itt)
1094 struct iscsi_session *session = conn->session;
1101 session->tt->parse_pdu_itt(conn, itt, &i, NULL);
1113 * @conn: iscsi conn
1122 int __iscsi_complete_pdu(struct iscsi_conn *conn, struct iscsi_hdr *hdr,
1125 struct iscsi_session *session = conn->session;
1130 conn->last_recv = jiffies;
1131 rc = iscsi_verify_itt(conn, hdr->itt);
1141 opcode, conn->id, itt, datalen);
1156 iscsi_send_nopout(conn, (struct iscsi_nopin*)hdr);
1159 rc = iscsi_handle_reject(conn, hdr, data, datalen);
1162 conn->exp_statsn = be32_to_cpu(hdr->statsn) + 1;
1163 if (iscsi_recv_pdu(conn->cls_conn, hdr, data, datalen))
1176 task = iscsi_itt_to_ctask(conn, hdr->itt);
1191 task = iscsi_itt_to_task(conn, hdr->itt);
1201 iscsi_scsi_cmd_rsp(conn, hdr, task, data, datalen);
1204 iscsi_data_in_rsp(conn, hdr, task);
1212 conn->exp_statsn = be32_to_cpu(hdr->statsn) + 1;
1229 iscsi_tmf_rsp(conn, hdr);
1238 conn->exp_statsn = be32_to_cpu(hdr->statsn) + 1;
1251 if (iscsi_recv_pdu(conn->cls_conn, hdr, data, datalen))
1258 int iscsi_complete_pdu(struct iscsi_conn *conn, struct iscsi_hdr *hdr,
1263 spin_lock(&conn->session->lock);
1264 rc = __iscsi_complete_pdu(conn, hdr, data, datalen);
1265 spin_unlock(&conn->session->lock);
1270 int iscsi_verify_itt(struct iscsi_conn *conn, itt_t itt)
1272 struct iscsi_session *session = conn->session;
1279 session->tt->parse_pdu_itt(conn, itt, &i, &age);
1286 iscsi_conn_printk(KERN_ERR, conn,
1293 iscsi_conn_printk(KERN_ERR, conn,
1304 * @conn: iscsi connection
1311 struct iscsi_task *iscsi_itt_to_ctask(struct iscsi_conn *conn, itt_t itt)
1315 if (iscsi_verify_itt(conn, itt))
1318 task = iscsi_itt_to_task(conn, itt);
1322 if (task->sc->SCp.phase != conn->session->age) {
1323 iscsi_session_printk(KERN_ERR, conn->session,
1325 task->sc->SCp.phase, conn->session->age);
1336 struct iscsi_conn *conn;
1341 conn = session->leadconn;
1342 if (session->state == ISCSI_STATE_TERMINATE || !conn) {
1347 dev = get_device(&conn->cls_conn->dev);
1357 iscsi_conn_error_event(conn->cls_conn, err);
1359 iscsi_conn_failure(conn, err);
1364 void iscsi_conn_failure(struct iscsi_conn *conn, enum iscsi_err err)
1366 struct iscsi_session *session = conn->session;
1375 if (conn->stop_stage == 0)
1379 set_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx);
1380 set_bit(ISCSI_SUSPEND_BIT, &conn->suspend_rx);
1381 iscsi_conn_error_event(conn->cls_conn, err);
1385 static int iscsi_check_cmdsn_window_closed(struct iscsi_conn *conn)
1387 struct iscsi_session *session = conn->session;
1402 static int iscsi_xmit_task(struct iscsi_conn *conn)
1404 struct iscsi_task *task = conn->task;
1407 if (test_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx))
1411 spin_unlock_bh(&conn->session->lock);
1412 rc = conn->session->tt->xmit_task(task);
1413 spin_lock_bh(&conn->session->lock);
1417 conn->task = NULL;
1433 struct iscsi_conn *conn = task->conn;
1440 list_add_tail(&task->running, &conn->requeue);
1441 iscsi_conn_queue_work(conn);
1447 * @conn: iscsi connection
1454 static int iscsi_data_xmit(struct iscsi_conn *conn)
1459 spin_lock_bh(&conn->session->lock);
1460 if (test_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx)) {
1461 ISCSI_DBG_SESSION(conn->session, "Tx suspended!\n");
1462 spin_unlock_bh(&conn->session->lock);
1466 if (conn->task) {
1467 rc = iscsi_xmit_task(conn);
1478 while (!list_empty(&conn->mgmtqueue)) {
1479 conn->task = list_entry(conn->mgmtqueue.next,
1481 list_del_init(&conn->task->running);
1482 if (iscsi_prep_mgmt_task(conn, conn->task)) {
1483 __iscsi_put_task(conn->task);
1484 conn->task = NULL;
1487 rc = iscsi_xmit_task(conn);
1493 while (!list_empty(&conn->cmdqueue)) {
1494 conn->task = list_entry(conn->cmdqueue.next, struct iscsi_task,
1496 list_del_init(&conn->task->running);
1497 if (conn->session->state == ISCSI_STATE_LOGGING_OUT) {
1498 fail_scsi_task(conn->task, DID_IMM_RETRY);
1501 rc = iscsi_prep_scsi_cmd_pdu(conn->task);
1504 list_add_tail(&conn->task->running,
1505 &conn->cmdqueue);
1506 conn->task = NULL;
1509 fail_scsi_task(conn->task, DID_ABORT);
1512 rc = iscsi_xmit_task(conn);
1520 if (!list_empty(&conn->mgmtqueue))
1524 while (!list_empty(&conn->requeue)) {
1526 * we always do fastlogout - conn stop code will clean up.
1528 if (conn->session->state == ISCSI_STATE_LOGGING_OUT)
1531 task = list_entry(conn->requeue.next, struct iscsi_task,
1536 conn->task = task;
1537 list_del_init(&conn->task->running);
1538 conn->task->state = ISCSI_TASK_RUNNING;
1539 rc = iscsi_xmit_task(conn);
1542 if (!list_empty(&conn->mgmtqueue))
1545 spin_unlock_bh(&conn->session->lock);
1549 spin_unlock_bh(&conn->session->lock);
1555 struct iscsi_conn *conn =
1562 rc = iscsi_data_xmit(conn);
1566 static inline struct iscsi_task *iscsi_alloc_task(struct iscsi_conn *conn,
1571 if (!kfifo_out(&conn->session->cmdpool.queue,
1575 sc->SCp.phase = conn->session->age;
1580 task->conn = conn;
1609 struct iscsi_conn *conn;
1662 conn = session->leadconn;
1663 if (!conn) {
1669 if (test_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx)) {
1675 if (iscsi_check_cmdsn_window_closed(conn)) {
1680 task = iscsi_alloc_task(conn, sc);
1703 list_add_tail(&task->running, &conn->cmdqueue);
1704 iscsi_conn_queue_work(conn);
1772 struct iscsi_conn *conn = (struct iscsi_conn *)data;
1773 struct iscsi_session *session = conn->session;
1776 if (conn->tmf_state == TMF_QUEUED) {
1777 conn->tmf_state = TMF_TIMEDOUT;
1780 wake_up(&conn->ehwait);
1785 static int iscsi_exec_task_mgmt_fn(struct iscsi_conn *conn,
1789 struct iscsi_session *session = conn->session;
1792 task = __iscsi_conn_send_pdu(conn, (struct iscsi_hdr *)hdr,
1796 iscsi_conn_failure(conn, ISCSI_ERR_CONN_FAILED);
1801 conn->tmfcmd_pdus_cnt++;
1802 conn->tmf_timer.expires = timeout * HZ + jiffies;
1803 conn->tmf_timer.function = iscsi_tmf_timedout;
1804 conn->tmf_timer.data = (unsigned long)conn;
1805 add_timer(&conn->tmf_timer);
1819 wait_event_interruptible(conn->ehwait, age != session->age ||
1821 conn->tmf_state != TMF_QUEUED);
1824 del_timer_sync(&conn->tmf_timer);
1839 static void fail_scsi_tasks(struct iscsi_conn *conn, unsigned lun,
1845 for (i = 0; i < conn->session->cmds_max; i++) {
1846 task = conn->session->cmds[i];
1853 ISCSI_DBG_SESSION(conn->session,
1862 * @conn: iscsi conn to stop queueing IO on
1871 void iscsi_suspend_queue(struct iscsi_conn *conn)
1873 spin_lock_bh(&conn->session->lock);
1874 set_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx);
1875 spin_unlock_bh(&conn->session->lock);
1881 * @conn: iscsi conn tp stop processing IO on.
1887 void iscsi_suspend_tx(struct iscsi_conn *conn)
1889 struct Scsi_Host *shost = conn->session->host;
1892 set_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx);
1898 static void iscsi_start_tx(struct iscsi_conn *conn)
1900 clear_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx);
1901 iscsi_conn_queue_work(conn);
1910 static int iscsi_has_ping_timed_out(struct iscsi_conn *conn)
1912 if (conn->ping_task &&
1913 time_before_eq(conn->last_recv + (conn->recv_timeout * HZ) +
1914 (conn->ping_timeout * HZ), jiffies))
1926 struct iscsi_conn *conn;
1944 conn = session->leadconn;
1945 if (!conn) {
1978 if (!conn->recv_timeout && !conn->ping_timeout)
1984 if (iscsi_has_ping_timed_out(conn)) {
1989 for (i = 0; i < conn->session->cmds_max; i++) {
1990 running_task = conn->session->cmds[i];
2034 if (conn->ping_task) {
2041 iscsi_send_nopout(conn, NULL);
2056 struct iscsi_conn *conn = (struct iscsi_conn *)data;
2057 struct iscsi_session *session = conn->session;
2064 recv_timeout = conn->recv_timeout;
2069 last_recv = conn->last_recv;
2071 if (iscsi_has_ping_timed_out(conn)) {
2072 iscsi_conn_printk(KERN_ERR, conn, "ping timeout of %d secs "
2075 conn->ping_timeout, conn->recv_timeout,
2076 last_recv, conn->last_ping, jiffies);
2078 iscsi_conn_failure(conn, ISCSI_ERR_CONN_FAILED);
2084 ISCSI_DBG_CONN(conn, "Sending nopout as ping\n");
2085 iscsi_send_nopout(conn, NULL);
2086 next_timeout = conn->last_ping + (conn->ping_timeout * HZ);
2090 ISCSI_DBG_CONN(conn, "Setting next tmo %lu\n", next_timeout);
2091 mod_timer(&conn->transport_timer, next_timeout);
2112 struct iscsi_conn *conn;
2149 conn = session->leadconn;
2150 conn->eh_abort_cnt++;
2169 if (conn->tmf_state != TMF_INITIAL)
2171 conn->tmf_state = TMF_QUEUED;
2173 hdr = &conn->tmhdr;
2176 if (iscsi_exec_task_mgmt_fn(conn, hdr, age, session->abort_timeout)) {
2181 switch (conn->tmf_state) {
2188 iscsi_suspend_tx(conn);
2196 conn->tmf_state = TMF_INITIAL;
2199 iscsi_start_tx(conn);
2203 iscsi_conn_failure(conn, ISCSI_ERR_CONN_FAILED);
2207 conn->tmf_state = TMF_INITIAL;
2216 conn->tmf_state = TMF_INITIAL;
2252 struct iscsi_conn *conn;
2269 conn = session->leadconn;
2272 if (conn->tmf_state != TMF_INITIAL)
2274 conn->tmf_state = TMF_QUEUED;
2276 hdr = &conn->tmhdr;
2279 if (iscsi_exec_task_mgmt_fn(conn, hdr, session->age,
2285 switch (conn->tmf_state) {
2290 iscsi_conn_failure(conn, ISCSI_ERR_CONN_FAILED);
2293 conn->tmf_state = TMF_INITIAL;
2300 iscsi_suspend_tx(conn);
2304 fail_scsi_tasks(conn, sc->device->lun, DID_ERROR);
2305 conn->tmf_state = TMF_INITIAL;
2308 iscsi_start_tx(conn);
2346 struct iscsi_conn *conn;
2350 conn = session->leadconn;
2359 conn->persistent_address, session->age);
2371 iscsi_conn_failure(conn, ISCSI_ERR_CONN_FAILED);
2374 wait_event_interruptible(conn->ehwait,
2386 session->targetname, conn->persistent_address);
2414 struct iscsi_conn *conn;
2432 conn = session->leadconn;
2435 if (conn->tmf_state != TMF_INITIAL)
2437 conn->tmf_state = TMF_QUEUED;
2439 hdr = &conn->tmhdr;
2442 if (iscsi_exec_task_mgmt_fn(conn, hdr, session->age,
2448 switch (conn->tmf_state) {
2453 iscsi_conn_failure(conn, ISCSI_ERR_CONN_FAILED);
2456 conn->tmf_state = TMF_INITIAL;
2463 iscsi_suspend_tx(conn);
2467 fail_scsi_tasks(conn, -1, DID_ERROR);
2468 conn->tmf_state = TMF_INITIAL;
2471 iscsi_start_tx(conn);
2853 struct iscsi_conn *conn;
2857 cls_conn = iscsi_create_conn(cls_session, sizeof(*conn) + dd_size,
2861 conn = cls_conn->dd_data;
2862 memset(conn, 0, sizeof(*conn) + dd_size);
2864 conn->dd_data = cls_conn->dd_data + sizeof(*conn);
2865 conn->session = session;
2866 conn->cls_conn = cls_conn;
2867 conn->c_stage = ISCSI_CONN_INITIAL_STAGE;
2868 conn->id = conn_idx;
2869 conn->exp_statsn = 0;
2870 conn->tmf_state = TMF_INITIAL;
2872 init_timer(&conn->transport_timer);
2873 conn->transport_timer.data = (unsigned long)conn;
2874 conn->transport_timer.function = iscsi_check_transport_timeouts;
2876 INIT_LIST_HEAD(&conn->mgmtqueue);
2877 INIT_LIST_HEAD(&conn->cmdqueue);
2878 INIT_LIST_HEAD(&conn->requeue);
2879 INIT_WORK(&conn->xmitwork, iscsi_xmitworker);
2884 (void*)&conn->login_task,
2895 conn->login_task->data = conn->data = data;
2897 init_timer(&conn->tmf_timer);
2898 init_waitqueue_head(&conn->ehwait);
2903 kfifo_in(&session->cmdpool.queue, (void*)&conn->login_task,
2920 struct iscsi_conn *conn = cls_conn->dd_data;
2921 struct iscsi_session *session = conn->session;
2924 del_timer_sync(&conn->transport_timer);
2927 conn->c_stage = ISCSI_CONN_CLEANUP_WAIT;
2928 if (session->leadconn == conn) {
2933 wake_up(&conn->ehwait);
2949 iscsi_conn_printk(KERN_INFO, conn, "iscsi conn_destroy(): "
2956 wake_up(&conn->ehwait);
2960 iscsi_suspend_tx(conn);
2963 free_pages((unsigned long) conn->data,
2965 kfree(conn->persistent_address);
2966 kfifo_in(&session->cmdpool.queue, (void*)&conn->login_task,
2968 if (session->leadconn == conn)
2978 struct iscsi_conn *conn = cls_conn->dd_data;
2979 struct iscsi_session *session = conn->session;
2982 iscsi_conn_printk(KERN_ERR, conn,
2989 iscsi_conn_printk(KERN_INFO, conn, "invalid burst lengths: "
2995 if (conn->ping_timeout && !conn->recv_timeout) {
2996 iscsi_conn_printk(KERN_ERR, conn, "invalid recv timeout of "
2998 conn->recv_timeout = 5;
3001 if (conn->recv_timeout && !conn->ping_timeout) {
3002 iscsi_conn_printk(KERN_ERR, conn, "invalid ping timeout of "
3004 conn->ping_timeout = 5;
3008 conn->c_stage = ISCSI_CONN_STARTED;
3012 conn->last_recv = jiffies;
3013 conn->last_ping = jiffies;
3014 if (conn->recv_timeout && conn->ping_timeout)
3015 mod_timer(&conn->transport_timer,
3016 jiffies + (conn->recv_timeout * HZ));
3018 switch(conn->stop_stage) {
3024 conn->stop_stage = 0;
3025 conn->tmf_state = TMF_INITIAL;
3031 conn->stop_stage = 0;
3039 wake_up(&conn->ehwait);
3045 fail_mgmt_tasks(struct iscsi_session *session, struct iscsi_conn *conn)
3050 for (i = 0; i < conn->session->cmds_max; i++) {
3051 task = conn->session->cmds[i];
3058 ISCSI_DBG_SESSION(conn->session,
3070 struct iscsi_conn *conn, int flag)
3076 if (conn->stop_stage == STOP_CONN_TERM) {
3089 else if (conn->stop_stage != STOP_CONN_RECOVER)
3092 old_stop_stage = conn->stop_stage;
3093 conn->stop_stage = flag;
3096 del_timer_sync(&conn->transport_timer);
3097 iscsi_suspend_tx(conn);
3100 conn->c_stage = ISCSI_CONN_STOPPED;
3105 * header digest. conn->hdr_size used for optimization
3110 conn->hdrdgst_en = 0;
3111 conn->datadgst_en = 0;
3123 fail_scsi_tasks(conn, -1, DID_TRANSPORT_DISRUPTED);
3124 fail_mgmt_tasks(session, conn);
3125 memset(&conn->tmhdr, 0, sizeof(conn->tmhdr));
3132 struct iscsi_conn *conn = cls_conn->dd_data;
3133 struct iscsi_session *session = conn->session;
3138 iscsi_start_session_recovery(session, conn, flag);
3141 iscsi_conn_printk(KERN_ERR, conn,
3151 struct iscsi_conn *conn = cls_conn->dd_data;
3155 session->leadconn = conn;
3161 clear_bit(ISCSI_SUSPEND_BIT, &conn->suspend_rx);
3162 clear_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx);
3188 struct iscsi_conn *conn = cls_conn->dd_data;
3189 struct iscsi_session *session = conn->session;
3206 sscanf(buf, "%d", &conn->ping_timeout);
3209 sscanf(buf, "%d", &conn->recv_timeout);
3212 sscanf(buf, "%d", &conn->max_recv_dlength);
3215 sscanf(buf, "%d", &conn->max_xmit_dlength);
3218 sscanf(buf, "%d", &conn->hdrdgst_en);
3221 sscanf(buf, "%d", &conn->datadgst_en);
3256 sscanf(buf, "%u", &conn->exp_statsn);
3272 sscanf(buf, "%d", &conn->persistent_port);
3275 return iscsi_switch_str_param(&conn->persistent_address, buf);
3366 struct iscsi_conn *conn = cls_conn->dd_data;
3371 len = sprintf(buf, "%u\n", conn->ping_timeout);
3374 len = sprintf(buf, "%u\n", conn->recv_timeout);
3377 len = sprintf(buf, "%u\n", conn->max_recv_dlength);
3380 len = sprintf(buf, "%u\n", conn->max_xmit_dlength);
3383 len = sprintf(buf, "%d\n", conn->hdrdgst_en);
3386 len = sprintf(buf, "%d\n", conn->datadgst_en);
3389 len = sprintf(buf, "%d\n", conn->ifmarker_en);
3392 len = sprintf(buf, "%d\n", conn->ofmarker_en);
3395 len = sprintf(buf, "%u\n", conn->exp_statsn);
3398 len = sprintf(buf, "%d\n", conn->persistent_port);
3401 len = sprintf(buf, "%s\n", conn->persistent_address);