aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_fsf.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/scsi/zfcp_fsf.c')
-rw-r--r--drivers/s390/scsi/zfcp_fsf.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/drivers/s390/scsi/zfcp_fsf.c b/drivers/s390/scsi/zfcp_fsf.c
index c241f032fd49..f09c863dc6bd 100644
--- a/drivers/s390/scsi/zfcp_fsf.c
+++ b/drivers/s390/scsi/zfcp_fsf.c
@@ -1060,7 +1060,12 @@ static int zfcp_fsf_setup_ct_els_sbals(struct zfcp_fsf_req *req,
1060 sg_resp, max_sbals); 1060 sg_resp, max_sbals);
1061 if (bytes <= 0) 1061 if (bytes <= 0)
1062 return -EIO; 1062 return -EIO;
1063
1064 /* common settings for ct/gs and els requests */
1063 req->qtcb->bottom.support.resp_buf_length = bytes; 1065 req->qtcb->bottom.support.resp_buf_length = bytes;
1066 req->qtcb->bottom.support.service_class = FSF_CLASS_3;
1067 req->qtcb->bottom.support.timeout = 2 * R_A_TOV;
1068 zfcp_fsf_start_timer(req, 2 * R_A_TOV + 10);
1064 1069
1065 return 0; 1070 return 0;
1066} 1071}
@@ -1096,12 +1101,9 @@ int zfcp_fsf_send_ct(struct zfcp_send_ct *ct, mempool_t *pool)
1096 1101
1097 req->handler = zfcp_fsf_send_ct_handler; 1102 req->handler = zfcp_fsf_send_ct_handler;
1098 req->qtcb->header.port_handle = wka_port->handle; 1103 req->qtcb->header.port_handle = wka_port->handle;
1099 req->qtcb->bottom.support.service_class = FSF_CLASS_3;
1100 req->qtcb->bottom.support.timeout = ct->timeout;
1101 req->data = ct; 1104 req->data = ct;
1102 1105
1103 zfcp_dbf_san_ct_request(req); 1106 zfcp_dbf_san_ct_request(req);
1104 zfcp_fsf_start_timer(req, ZFCP_FSF_REQUEST_TIMEOUT);
1105 1107
1106 ret = zfcp_fsf_req_send(req); 1108 ret = zfcp_fsf_req_send(req);
1107 if (ret) 1109 if (ret)
@@ -1176,7 +1178,6 @@ int zfcp_fsf_send_els(struct zfcp_send_els *els)
1176{ 1178{
1177 struct zfcp_fsf_req *req; 1179 struct zfcp_fsf_req *req;
1178 struct zfcp_qdio *qdio = els->adapter->qdio; 1180 struct zfcp_qdio *qdio = els->adapter->qdio;
1179 struct fsf_qtcb_bottom_support *bottom;
1180 int ret = -EIO; 1181 int ret = -EIO;
1181 1182
1182 spin_lock_bh(&qdio->req_q_lock); 1183 spin_lock_bh(&qdio->req_q_lock);
@@ -1196,16 +1197,12 @@ int zfcp_fsf_send_els(struct zfcp_send_els *els)
1196 if (ret) 1197 if (ret)
1197 goto failed_send; 1198 goto failed_send;
1198 1199
1199 bottom = &req->qtcb->bottom.support; 1200 req->qtcb->bottom.support.d_id = els->d_id;
1200 req->handler = zfcp_fsf_send_els_handler; 1201 req->handler = zfcp_fsf_send_els_handler;
1201 bottom->d_id = els->d_id;
1202 bottom->service_class = FSF_CLASS_3;
1203 bottom->timeout = 2 * R_A_TOV;
1204 req->data = els; 1202 req->data = els;
1205 1203
1206 zfcp_dbf_san_els_request(req); 1204 zfcp_dbf_san_els_request(req);
1207 1205
1208 zfcp_fsf_start_timer(req, ZFCP_FSF_REQUEST_TIMEOUT);
1209 ret = zfcp_fsf_req_send(req); 1206 ret = zfcp_fsf_req_send(req);
1210 if (ret) 1207 if (ret)
1211 goto failed_send; 1208 goto failed_send;