summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/iscsi_tcp.c
diff options
context:
space:
mode:
authorMike Christie <michaelc@cs.wisc.edu>2006-05-30 07:37:20 +0200
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2006-06-06 01:10:45 +0200
commit67a611149b2ac5f4af1e36bfffbfe3198cd3712c (patch)
treef74b70aefc16544901a3a3191bee8be8c467747d /drivers/scsi/iscsi_tcp.c
parent[SCSI] kdump: mpt fusion driver initialization failure fix (diff)
downloadlinux-67a611149b2ac5f4af1e36bfffbfe3198cd3712c.tar.xz
linux-67a611149b2ac5f4af1e36bfffbfe3198cd3712c.zip
[SCSI] iscsi: don't switch states when just cleaning up
If recovery failed or we are in recovery only overwrite the state if we are going to terminate the session or if we logged back in. STOP_CONN_SUSPEND and conn_cnt are not used. We only support a single connection session ATM, so cleanup that code while we are working around it. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/iscsi_tcp.c')
-rw-r--r--drivers/scsi/iscsi_tcp.c40
1 files changed, 19 insertions, 21 deletions
diff --git a/drivers/scsi/iscsi_tcp.c b/drivers/scsi/iscsi_tcp.c
index c66faee07ca5..2abda804a924 100644
--- a/drivers/scsi/iscsi_tcp.c
+++ b/drivers/scsi/iscsi_tcp.c
@@ -1955,30 +1955,28 @@ iscsi_tcp_conn_bind(struct iscsi_cls_session *cls_session,
if (err)
return err;
- if (conn->stop_stage != STOP_CONN_SUSPEND) {
- /* bind iSCSI connection and socket */
- tcp_conn->sock = sock;
+ /* bind iSCSI connection and socket */
+ tcp_conn->sock = sock;
- /* setup Socket parameters */
- sk = sock->sk;
- sk->sk_reuse = 1;
- sk->sk_sndtimeo = 15 * HZ; /* FIXME: make it configurable */
- sk->sk_allocation = GFP_ATOMIC;
+ /* setup Socket parameters */
+ sk = sock->sk;
+ sk->sk_reuse = 1;
+ sk->sk_sndtimeo = 15 * HZ; /* FIXME: make it configurable */
+ sk->sk_allocation = GFP_ATOMIC;
- /* FIXME: disable Nagle's algorithm */
+ /* FIXME: disable Nagle's algorithm */
- /*
- * Intercept TCP callbacks for sendfile like receive
- * processing.
- */
- conn->recv_lock = &sk->sk_callback_lock;
- iscsi_conn_set_callbacks(conn);
- tcp_conn->sendpage = tcp_conn->sock->ops->sendpage;
- /*
- * set receive state machine into initial state
- */
- tcp_conn->in_progress = IN_PROGRESS_WAIT_HEADER;
- }
+ /*
+ * Intercept TCP callbacks for sendfile like receive
+ * processing.
+ */
+ conn->recv_lock = &sk->sk_callback_lock;
+ iscsi_conn_set_callbacks(conn);
+ tcp_conn->sendpage = tcp_conn->sock->ops->sendpage;
+ /*
+ * set receive state machine into initial state
+ */
+ tcp_conn->in_progress = IN_PROGRESS_WAIT_HEADER;
return 0;
}