diff options
Diffstat (limited to 'drivers/scsi/cxgbi/libcxgbi.c')
-rw-r--r-- | drivers/scsi/cxgbi/libcxgbi.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/drivers/scsi/cxgbi/libcxgbi.c b/drivers/scsi/cxgbi/libcxgbi.c index 89afd6d21d89..d9253db1d0e2 100644 --- a/drivers/scsi/cxgbi/libcxgbi.c +++ b/drivers/scsi/cxgbi/libcxgbi.c | |||
@@ -2147,11 +2147,10 @@ int cxgbi_set_conn_param(struct iscsi_cls_conn *cls_conn, | |||
2147 | enum iscsi_param param, char *buf, int buflen) | 2147 | enum iscsi_param param, char *buf, int buflen) |
2148 | { | 2148 | { |
2149 | struct iscsi_conn *conn = cls_conn->dd_data; | 2149 | struct iscsi_conn *conn = cls_conn->dd_data; |
2150 | struct iscsi_session *session = conn->session; | ||
2151 | struct iscsi_tcp_conn *tcp_conn = conn->dd_data; | 2150 | struct iscsi_tcp_conn *tcp_conn = conn->dd_data; |
2152 | struct cxgbi_conn *cconn = tcp_conn->dd_data; | 2151 | struct cxgbi_conn *cconn = tcp_conn->dd_data; |
2153 | struct cxgbi_sock *csk = cconn->cep->csk; | 2152 | struct cxgbi_sock *csk = cconn->cep->csk; |
2154 | int value, err = 0; | 2153 | int err; |
2155 | 2154 | ||
2156 | log_debug(1 << CXGBI_DBG_ISCSI, | 2155 | log_debug(1 << CXGBI_DBG_ISCSI, |
2157 | "cls_conn 0x%p, param %d, buf(%d) %s.\n", | 2156 | "cls_conn 0x%p, param %d, buf(%d) %s.\n", |
@@ -2173,15 +2172,7 @@ int cxgbi_set_conn_param(struct iscsi_cls_conn *cls_conn, | |||
2173 | conn->datadgst_en, 0); | 2172 | conn->datadgst_en, 0); |
2174 | break; | 2173 | break; |
2175 | case ISCSI_PARAM_MAX_R2T: | 2174 | case ISCSI_PARAM_MAX_R2T: |
2176 | sscanf(buf, "%d", &value); | 2175 | return iscsi_tcp_set_max_r2t(conn, buf); |
2177 | if (value <= 0 || !is_power_of_2(value)) | ||
2178 | return -EINVAL; | ||
2179 | if (session->max_r2t == value) | ||
2180 | break; | ||
2181 | iscsi_tcp_r2tpool_free(session); | ||
2182 | err = iscsi_set_param(cls_conn, param, buf, buflen); | ||
2183 | if (!err && iscsi_tcp_r2tpool_alloc(session)) | ||
2184 | return -ENOMEM; | ||
2185 | case ISCSI_PARAM_MAX_RECV_DLENGTH: | 2176 | case ISCSI_PARAM_MAX_RECV_DLENGTH: |
2186 | err = iscsi_set_param(cls_conn, param, buf, buflen); | 2177 | err = iscsi_set_param(cls_conn, param, buf, buflen); |
2187 | if (!err) | 2178 | if (!err) |