diff options
author | Dan Williams <dan.j.williams@intel.com> | 2011-05-01 18:33:43 -0400 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2011-07-03 07:04:45 -0400 |
commit | 10a09e64be2580ceef8539629fb953b7d94fa35f (patch) | |
tree | 1e8c96307c69f9331be08a83a9488de10e3c971d | |
parent | 1860655706ee5a7e3f3adeebd4927fed98860462 (diff) |
isci: unify remote_device complete_io_handlers
Implement all states in scic_sds_remote_device_complete_io() and delete
the state handler.
Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
-rw-r--r-- | drivers/scsi/isci/remote_device.c | 168 | ||||
-rw-r--r-- | drivers/scsi/isci/remote_device.h | 6 |
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 | /** | 436 | static 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 | */ | ||
445 | enum 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 | |||
454 | enum 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 | ||
1061 | static 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 | |||
1087 | static void scic_sds_stp_remote_device_ready_idle_substate_resume_complete_handler(void *_dev) | 1131 | static 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 | ||
1100 | static enum sci_status | ||
1101 | scic_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 | |||
1127 | static enum sci_status scic_sds_smp_remote_device_ready_cmd_substate_frame_handler( | 1144 | static 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 | ||
1145 | static const struct scic_sds_remote_device_state_handler scic_sds_remote_device_state_handler_table[] = { | 1162 | static 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 | */ |
388 | struct scic_sds_remote_device_state_handler { | 388 | struct 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 | */ |