aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/isci/remote_device.c168
-rw-r--r--drivers/scsi/isci/remote_device.h6
2 files changed, 85 insertions, 89 deletions
diff --git a/drivers/scsi/isci/remote_device.c b/drivers/scsi/isci/remote_device.c
index f4ba5be00c03..a6247675c5c7 100644
--- a/drivers/scsi/isci/remote_device.c
+++ b/drivers/scsi/isci/remote_device.c
@@ -433,22 +433,92 @@ enum sci_status scic_sds_remote_device_start_io(struct scic_sds_controller *scic
433 return status; 433 return status;
434} 434}
435 435
436/** 436static enum sci_status common_complete_io(struct scic_sds_port *sci_port,
437 * 437 struct scic_sds_remote_device *sci_dev,
438 * @controller: The controller that is completing the io request. 438 struct scic_sds_request *sci_req)
439 * @sci_dev: The remote device for which the complete io handling is being
440 * requested.
441 * @io_request: The io request that is being completed.
442 *
443 * This method invokes the remote device complete io handler. enum sci_status
444 */
445enum sci_status scic_sds_remote_device_complete_io(
446 struct scic_sds_controller *controller,
447 struct scic_sds_remote_device *sci_dev,
448 struct scic_sds_request *io_request)
449{ 439{
450 return sci_dev->state_handlers->complete_io_handler( 440 enum sci_status status;
451 sci_dev, io_request); 441
442 status = scic_sds_request_complete(sci_req);
443 if (status != SCI_SUCCESS)
444 return status;
445
446 status = scic_sds_port_complete_io(sci_port, sci_dev, sci_req);
447 if (status != SCI_SUCCESS)
448 return status;
449
450 scic_sds_remote_device_decrement_request_count(sci_dev);
451 return status;
452}
453
454enum sci_status scic_sds_remote_device_complete_io(struct scic_sds_controller *scic,
455 struct scic_sds_remote_device *sci_dev,
456 struct scic_sds_request *sci_req)
457{
458 struct sci_base_state_machine *sm = &sci_dev->state_machine;
459 enum scic_sds_remote_device_states state = sm->current_state_id;
460 struct scic_sds_port *sci_port = sci_dev->owning_port;
461 enum sci_status status;
462
463 switch (state) {
464 case SCI_BASE_REMOTE_DEVICE_STATE_INITIAL:
465 case SCI_BASE_REMOTE_DEVICE_STATE_STOPPED:
466 case SCI_BASE_REMOTE_DEVICE_STATE_STARTING:
467 case SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_IDLE:
468 case SCIC_SDS_SMP_REMOTE_DEVICE_READY_SUBSTATE_IDLE:
469 case SCI_BASE_REMOTE_DEVICE_STATE_FAILED:
470 case SCI_BASE_REMOTE_DEVICE_STATE_FINAL:
471 default:
472 dev_warn(scirdev_to_dev(sci_dev), "%s: in wrong state: %d\n",
473 __func__, state);
474 return SCI_FAILURE_INVALID_STATE;
475 case SCI_BASE_REMOTE_DEVICE_STATE_READY:
476 case SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_AWAIT_RESET:
477 case SCI_BASE_REMOTE_DEVICE_STATE_RESETTING:
478 status = common_complete_io(sci_port, sci_dev, sci_req);
479 break;
480 case SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_CMD:
481 case SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_NCQ:
482 case SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_NCQ_ERROR:
483 status = common_complete_io(sci_port, sci_dev, sci_req);
484 if (status != SCI_SUCCESS)
485 break;
486
487 if (sci_req->sci_status == SCI_FAILURE_REMOTE_DEVICE_RESET_REQUIRED) {
488 /* This request causes hardware error, device needs to be Lun Reset.
489 * So here we force the state machine to IDLE state so the rest IOs
490 * can reach RNC state handler, these IOs will be completed by RNC with
491 * status of "DEVICE_RESET_REQUIRED", instead of "INVALID STATE".
492 */
493 sci_base_state_machine_change_state(sm, SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_AWAIT_RESET);
494 } else if (scic_sds_remote_device_get_request_count(sci_dev) == 0)
495 sci_base_state_machine_change_state(sm, SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_IDLE);
496 break;
497 case SCIC_SDS_SMP_REMOTE_DEVICE_READY_SUBSTATE_CMD:
498 status = common_complete_io(sci_port, sci_dev, sci_req);
499 if (status != SCI_SUCCESS)
500 break;
501 sci_base_state_machine_change_state(sm, SCIC_SDS_SMP_REMOTE_DEVICE_READY_SUBSTATE_IDLE);
502 break;
503 case SCI_BASE_REMOTE_DEVICE_STATE_STOPPING:
504 status = common_complete_io(sci_port, sci_dev, sci_req);
505 if (status != SCI_SUCCESS)
506 break;
507
508 if (scic_sds_remote_device_get_request_count(sci_dev) == 0)
509 scic_sds_remote_node_context_destruct(&sci_dev->rnc,
510 rnc_destruct_done,
511 sci_dev);
512 break;
513 }
514
515 if (status != SCI_SUCCESS)
516 dev_err(scirdev_to_dev(sci_dev),
517 "%s: Port:0x%p Device:0x%p Request:0x%p Status:0x%x "
518 "could not complete\n", __func__, sci_port,
519 sci_dev, sci_req, status);
520
521 return status;
452} 522}
453 523
454/** 524/**
@@ -1058,32 +1128,6 @@ static enum sci_status scic_sds_stp_remote_device_ready_cmd_substate_frame_handl
1058 frame_index); 1128 frame_index);
1059} 1129}
1060 1130
1061static enum sci_status scic_sds_stp_remote_device_ready_await_reset_substate_complete_request_handler(
1062 struct scic_sds_remote_device *device,
1063 struct scic_sds_request *request)
1064{
1065 struct scic_sds_request *sci_req = request;
1066 enum sci_status status;
1067
1068 status = scic_sds_io_request_complete(sci_req);
1069 if (status != SCI_SUCCESS)
1070 goto out;
1071
1072 status = scic_sds_port_complete_io(device->owning_port, device, sci_req);
1073 if (status != SCI_SUCCESS)
1074 goto out;
1075
1076 scic_sds_remote_device_decrement_request_count(device);
1077 out:
1078 if (status != SCI_SUCCESS)
1079 dev_err(scirdev_to_dev(device),
1080 "%s: Port:0x%p Device:0x%p Request:0x%p Status:0x%x "
1081 "could not complete\n",
1082 __func__, device->owning_port, device, sci_req, status);
1083
1084 return status;
1085}
1086
1087static void scic_sds_stp_remote_device_ready_idle_substate_resume_complete_handler(void *_dev) 1131static void scic_sds_stp_remote_device_ready_idle_substate_resume_complete_handler(void *_dev)
1088{ 1132{
1089 struct scic_sds_remote_device *sci_dev = _dev; 1133 struct scic_sds_remote_device *sci_dev = _dev;
@@ -1097,33 +1141,6 @@ static void scic_sds_stp_remote_device_ready_idle_substate_resume_complete_handl
1097 isci_remote_device_ready(scic->ihost, idev); 1141 isci_remote_device_ready(scic->ihost, idev);
1098} 1142}
1099 1143
1100static enum sci_status
1101scic_sds_smp_remote_device_ready_cmd_substate_complete_io_handler(struct scic_sds_remote_device *sci_dev,
1102 struct scic_sds_request *sci_req)
1103{
1104 enum sci_status status;
1105
1106 status = scic_sds_io_request_complete(sci_req);
1107 if (status != SCI_SUCCESS)
1108 return status;
1109
1110 status = scic_sds_port_complete_io(sci_dev->owning_port, sci_dev, sci_req);
1111 if (status != SCI_SUCCESS) {
1112 dev_err(scirdev_to_dev(sci_dev),
1113 "%s: SCIC SDS Remote Device 0x%p io request "
1114 "0x%p could not be completd on the port 0x%p "
1115 "failed with status %d.\n", __func__, sci_dev, sci_req,
1116 sci_dev->owning_port, status);
1117 return status;
1118 }
1119
1120 scic_sds_remote_device_decrement_request_count(sci_dev);
1121 sci_base_state_machine_change_state(&sci_dev->state_machine,
1122 SCIC_SDS_SMP_REMOTE_DEVICE_READY_SUBSTATE_IDLE);
1123
1124 return status;
1125}
1126
1127static enum sci_status scic_sds_smp_remote_device_ready_cmd_substate_frame_handler( 1144static enum sci_status scic_sds_smp_remote_device_ready_cmd_substate_frame_handler(
1128 struct scic_sds_remote_device *sci_dev, 1145 struct scic_sds_remote_device *sci_dev,
1129 u32 frame_index) 1146 u32 frame_index)
@@ -1144,7 +1161,6 @@ static enum sci_status scic_sds_smp_remote_device_ready_cmd_substate_frame_handl
1144 1161
1145static const struct scic_sds_remote_device_state_handler scic_sds_remote_device_state_handler_table[] = { 1162static const struct scic_sds_remote_device_state_handler scic_sds_remote_device_state_handler_table[] = {
1146 [SCI_BASE_REMOTE_DEVICE_STATE_INITIAL] = { 1163 [SCI_BASE_REMOTE_DEVICE_STATE_INITIAL] = {
1147 .complete_io_handler = scic_sds_remote_device_default_complete_request_handler,
1148 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler, 1164 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler,
1149 .start_task_handler = scic_sds_remote_device_default_start_request_handler, 1165 .start_task_handler = scic_sds_remote_device_default_start_request_handler,
1150 .complete_task_handler = scic_sds_remote_device_default_complete_request_handler, 1166 .complete_task_handler = scic_sds_remote_device_default_complete_request_handler,
@@ -1154,7 +1170,6 @@ static const struct scic_sds_remote_device_state_handler scic_sds_remote_device_
1154 .frame_handler = scic_sds_remote_device_default_frame_handler 1170 .frame_handler = scic_sds_remote_device_default_frame_handler
1155 }, 1171 },
1156 [SCI_BASE_REMOTE_DEVICE_STATE_STOPPED] = { 1172 [SCI_BASE_REMOTE_DEVICE_STATE_STOPPED] = {
1157 .complete_io_handler = scic_sds_remote_device_default_complete_request_handler,
1158 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler, 1173 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler,
1159 .start_task_handler = scic_sds_remote_device_default_start_request_handler, 1174 .start_task_handler = scic_sds_remote_device_default_start_request_handler,
1160 .complete_task_handler = scic_sds_remote_device_default_complete_request_handler, 1175 .complete_task_handler = scic_sds_remote_device_default_complete_request_handler,
@@ -1164,7 +1179,6 @@ static const struct scic_sds_remote_device_state_handler scic_sds_remote_device_
1164 .frame_handler = scic_sds_remote_device_default_frame_handler 1179 .frame_handler = scic_sds_remote_device_default_frame_handler
1165 }, 1180 },
1166 [SCI_BASE_REMOTE_DEVICE_STATE_STARTING] = { 1181 [SCI_BASE_REMOTE_DEVICE_STATE_STARTING] = {
1167 .complete_io_handler = scic_sds_remote_device_default_complete_request_handler,
1168 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler, 1182 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler,
1169 .start_task_handler = scic_sds_remote_device_default_start_request_handler, 1183 .start_task_handler = scic_sds_remote_device_default_start_request_handler,
1170 .complete_task_handler = scic_sds_remote_device_default_complete_request_handler, 1184 .complete_task_handler = scic_sds_remote_device_default_complete_request_handler,
@@ -1174,7 +1188,6 @@ static const struct scic_sds_remote_device_state_handler scic_sds_remote_device_
1174 .frame_handler = scic_sds_remote_device_default_frame_handler 1188 .frame_handler = scic_sds_remote_device_default_frame_handler
1175 }, 1189 },
1176 [SCI_BASE_REMOTE_DEVICE_STATE_READY] = { 1190 [SCI_BASE_REMOTE_DEVICE_STATE_READY] = {
1177 .complete_io_handler = scic_sds_remote_device_ready_state_complete_request_handler,
1178 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler, 1191 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler,
1179 .start_task_handler = scic_sds_remote_device_ready_state_start_task_handler, 1192 .start_task_handler = scic_sds_remote_device_ready_state_start_task_handler,
1180 .complete_task_handler = scic_sds_remote_device_ready_state_complete_request_handler, 1193 .complete_task_handler = scic_sds_remote_device_ready_state_complete_request_handler,
@@ -1184,7 +1197,6 @@ static const struct scic_sds_remote_device_state_handler scic_sds_remote_device_
1184 .frame_handler = scic_sds_remote_device_general_frame_handler, 1197 .frame_handler = scic_sds_remote_device_general_frame_handler,
1185 }, 1198 },
1186 [SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_IDLE] = { 1199 [SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_IDLE] = {
1187 .complete_io_handler = scic_sds_remote_device_default_complete_request_handler,
1188 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler, 1200 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler,
1189 .start_task_handler = scic_sds_stp_remote_device_ready_substate_start_request_handler, 1201 .start_task_handler = scic_sds_stp_remote_device_ready_substate_start_request_handler,
1190 .complete_task_handler = scic_sds_remote_device_default_complete_request_handler, 1202 .complete_task_handler = scic_sds_remote_device_default_complete_request_handler,
@@ -1194,7 +1206,6 @@ static const struct scic_sds_remote_device_state_handler scic_sds_remote_device_
1194 .frame_handler = scic_sds_remote_device_default_frame_handler 1206 .frame_handler = scic_sds_remote_device_default_frame_handler
1195 }, 1207 },
1196 [SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_CMD] = { 1208 [SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_CMD] = {
1197 .complete_io_handler = scic_sds_stp_remote_device_complete_request,
1198 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler, 1209 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler,
1199 .start_task_handler = scic_sds_stp_remote_device_ready_substate_start_request_handler, 1210 .start_task_handler = scic_sds_stp_remote_device_ready_substate_start_request_handler,
1200 .complete_task_handler = scic_sds_stp_remote_device_complete_request, 1211 .complete_task_handler = scic_sds_stp_remote_device_complete_request,
@@ -1204,7 +1215,6 @@ static const struct scic_sds_remote_device_state_handler scic_sds_remote_device_
1204 .frame_handler = scic_sds_stp_remote_device_ready_cmd_substate_frame_handler 1215 .frame_handler = scic_sds_stp_remote_device_ready_cmd_substate_frame_handler
1205 }, 1216 },
1206 [SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_NCQ] = { 1217 [SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_NCQ] = {
1207 .complete_io_handler = scic_sds_stp_remote_device_complete_request,
1208 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler, 1218 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler,
1209 .start_task_handler = scic_sds_stp_remote_device_ready_substate_start_request_handler, 1219 .start_task_handler = scic_sds_stp_remote_device_ready_substate_start_request_handler,
1210 .complete_task_handler = scic_sds_stp_remote_device_complete_request, 1220 .complete_task_handler = scic_sds_stp_remote_device_complete_request,
@@ -1214,7 +1224,6 @@ static const struct scic_sds_remote_device_state_handler scic_sds_remote_device_
1214 .frame_handler = scic_sds_stp_remote_device_ready_ncq_substate_frame_handler 1224 .frame_handler = scic_sds_stp_remote_device_ready_ncq_substate_frame_handler
1215 }, 1225 },
1216 [SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_NCQ_ERROR] = { 1226 [SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_NCQ_ERROR] = {
1217 .complete_io_handler = scic_sds_stp_remote_device_complete_request,
1218 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler, 1227 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler,
1219 .start_task_handler = scic_sds_stp_remote_device_ready_substate_start_request_handler, 1228 .start_task_handler = scic_sds_stp_remote_device_ready_substate_start_request_handler,
1220 .complete_task_handler = scic_sds_stp_remote_device_complete_request, 1229 .complete_task_handler = scic_sds_stp_remote_device_complete_request,
@@ -1224,7 +1233,6 @@ static const struct scic_sds_remote_device_state_handler scic_sds_remote_device_
1224 .frame_handler = scic_sds_remote_device_general_frame_handler 1233 .frame_handler = scic_sds_remote_device_general_frame_handler
1225 }, 1234 },
1226 [SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_AWAIT_RESET] = { 1235 [SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_AWAIT_RESET] = {
1227 .complete_io_handler = scic_sds_stp_remote_device_ready_await_reset_substate_complete_request_handler,
1228 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler, 1236 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler,
1229 .start_task_handler = scic_sds_stp_remote_device_ready_substate_start_request_handler, 1237 .start_task_handler = scic_sds_stp_remote_device_ready_substate_start_request_handler,
1230 .complete_task_handler = scic_sds_stp_remote_device_complete_request, 1238 .complete_task_handler = scic_sds_stp_remote_device_complete_request,
@@ -1234,7 +1242,6 @@ static const struct scic_sds_remote_device_state_handler scic_sds_remote_device_
1234 .frame_handler = scic_sds_remote_device_general_frame_handler 1242 .frame_handler = scic_sds_remote_device_general_frame_handler
1235 }, 1243 },
1236 [SCIC_SDS_SMP_REMOTE_DEVICE_READY_SUBSTATE_IDLE] = { 1244 [SCIC_SDS_SMP_REMOTE_DEVICE_READY_SUBSTATE_IDLE] = {
1237 .complete_io_handler = scic_sds_remote_device_default_complete_request_handler,
1238 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler, 1245 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler,
1239 .start_task_handler = scic_sds_remote_device_default_start_request_handler, 1246 .start_task_handler = scic_sds_remote_device_default_start_request_handler,
1240 .complete_task_handler = scic_sds_remote_device_default_complete_request_handler, 1247 .complete_task_handler = scic_sds_remote_device_default_complete_request_handler,
@@ -1244,7 +1251,6 @@ static const struct scic_sds_remote_device_state_handler scic_sds_remote_device_
1244 .frame_handler = scic_sds_remote_device_default_frame_handler 1251 .frame_handler = scic_sds_remote_device_default_frame_handler
1245 }, 1252 },
1246 [SCIC_SDS_SMP_REMOTE_DEVICE_READY_SUBSTATE_CMD] = { 1253 [SCIC_SDS_SMP_REMOTE_DEVICE_READY_SUBSTATE_CMD] = {
1247 .complete_io_handler = scic_sds_smp_remote_device_ready_cmd_substate_complete_io_handler,
1248 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler, 1254 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler,
1249 .start_task_handler = scic_sds_remote_device_default_start_request_handler, 1255 .start_task_handler = scic_sds_remote_device_default_start_request_handler,
1250 .complete_task_handler = scic_sds_remote_device_default_complete_request_handler, 1256 .complete_task_handler = scic_sds_remote_device_default_complete_request_handler,
@@ -1254,7 +1260,6 @@ static const struct scic_sds_remote_device_state_handler scic_sds_remote_device_
1254 .frame_handler = scic_sds_smp_remote_device_ready_cmd_substate_frame_handler 1260 .frame_handler = scic_sds_smp_remote_device_ready_cmd_substate_frame_handler
1255 }, 1261 },
1256 [SCI_BASE_REMOTE_DEVICE_STATE_STOPPING] = { 1262 [SCI_BASE_REMOTE_DEVICE_STATE_STOPPING] = {
1257 .complete_io_handler = scic_sds_remote_device_stopping_state_complete_request_handler,
1258 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler, 1263 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler,
1259 .start_task_handler = scic_sds_remote_device_default_start_request_handler, 1264 .start_task_handler = scic_sds_remote_device_default_start_request_handler,
1260 .complete_task_handler = scic_sds_remote_device_stopping_state_complete_request_handler, 1265 .complete_task_handler = scic_sds_remote_device_stopping_state_complete_request_handler,
@@ -1264,7 +1269,6 @@ static const struct scic_sds_remote_device_state_handler scic_sds_remote_device_
1264 .frame_handler = scic_sds_remote_device_general_frame_handler 1269 .frame_handler = scic_sds_remote_device_general_frame_handler
1265 }, 1270 },
1266 [SCI_BASE_REMOTE_DEVICE_STATE_FAILED] = { 1271 [SCI_BASE_REMOTE_DEVICE_STATE_FAILED] = {
1267 .complete_io_handler = scic_sds_remote_device_default_complete_request_handler,
1268 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler, 1272 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler,
1269 .start_task_handler = scic_sds_remote_device_default_start_request_handler, 1273 .start_task_handler = scic_sds_remote_device_default_start_request_handler,
1270 .complete_task_handler = scic_sds_remote_device_default_complete_request_handler, 1274 .complete_task_handler = scic_sds_remote_device_default_complete_request_handler,
@@ -1274,7 +1278,6 @@ static const struct scic_sds_remote_device_state_handler scic_sds_remote_device_
1274 .frame_handler = scic_sds_remote_device_general_frame_handler 1278 .frame_handler = scic_sds_remote_device_general_frame_handler
1275 }, 1279 },
1276 [SCI_BASE_REMOTE_DEVICE_STATE_RESETTING] = { 1280 [SCI_BASE_REMOTE_DEVICE_STATE_RESETTING] = {
1277 .complete_io_handler = scic_sds_remote_device_resetting_state_complete_request_handler,
1278 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler, 1281 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler,
1279 .start_task_handler = scic_sds_remote_device_default_start_request_handler, 1282 .start_task_handler = scic_sds_remote_device_default_start_request_handler,
1280 .complete_task_handler = scic_sds_remote_device_resetting_state_complete_request_handler, 1283 .complete_task_handler = scic_sds_remote_device_resetting_state_complete_request_handler,
@@ -1284,7 +1287,6 @@ static const struct scic_sds_remote_device_state_handler scic_sds_remote_device_
1284 .frame_handler = scic_sds_remote_device_general_frame_handler 1287 .frame_handler = scic_sds_remote_device_general_frame_handler
1285 }, 1288 },
1286 [SCI_BASE_REMOTE_DEVICE_STATE_FINAL] = { 1289 [SCI_BASE_REMOTE_DEVICE_STATE_FINAL] = {
1287 .complete_io_handler = scic_sds_remote_device_default_complete_request_handler,
1288 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler, 1290 .continue_io_handler = scic_sds_remote_device_default_continue_request_handler,
1289 .start_task_handler = scic_sds_remote_device_default_start_request_handler, 1291 .start_task_handler = scic_sds_remote_device_default_start_request_handler,
1290 .complete_task_handler = scic_sds_remote_device_default_complete_request_handler, 1292 .complete_task_handler = scic_sds_remote_device_default_complete_request_handler,
diff --git a/drivers/scsi/isci/remote_device.h b/drivers/scsi/isci/remote_device.h
index 58ce41af9e66..64767656ee0d 100644
--- a/drivers/scsi/isci/remote_device.h
+++ b/drivers/scsi/isci/remote_device.h
@@ -387,12 +387,6 @@ typedef void (*scic_sds_remote_device_ready_not_ready_handler_t)(
387 */ 387 */
388struct scic_sds_remote_device_state_handler { 388struct scic_sds_remote_device_state_handler {
389 /** 389 /**
390 * The complete_io_handler specifies the method invoked when a user
391 * attempts to complete an IO request for a remote device.
392 */
393 scic_sds_remote_device_request_handler_t complete_io_handler;
394
395 /**
396 * The continue_io_handler specifies the method invoked when a user 390 * The continue_io_handler specifies the method invoked when a user
397 * attempts to continue an IO request for a remote device. 391 * attempts to continue an IO request for a remote device.
398 */ 392 */