aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/isci/core/scic_sds_remote_device.c15
-rw-r--r--drivers/scsi/isci/core/scic_sds_remote_device.h3
-rw-r--r--drivers/scsi/isci/core/scic_sds_stp_remote_device.c1
3 files changed, 9 insertions, 10 deletions
diff --git a/drivers/scsi/isci/core/scic_sds_remote_device.c b/drivers/scsi/isci/core/scic_sds_remote_device.c
index 5fc1baaa56d0..643247f46a7e 100644
--- a/drivers/scsi/isci/core/scic_sds_remote_device.c
+++ b/drivers/scsi/isci/core/scic_sds_remote_device.c
@@ -583,19 +583,20 @@ void scic_sds_remote_device_start_request(
* serves as a callback when RNC gets resumed during a task management
* sequence. none
*/
-void scic_sds_remote_device_continue_request(
- struct scic_sds_remote_device *this_device)
+void scic_sds_remote_device_continue_request(void *dev)
{
+ struct scic_sds_remote_device *sci_dev = dev;
+ struct scic_sds_request *sci_req = sci_dev->working_request;
+
/* we need to check if this request is still valid to continue. */
- if (this_device->working_request != NULL) {
- struct scic_sds_request *this_request = this_device->working_request;
- struct scic_sds_controller *scic = this_request->owning_controller;
+ if (sci_req) {
+ struct scic_sds_controller *scic = sci_req->owning_controller;
u32 state = scic->parent.state_machine.current_state_id;
sci_base_controller_request_handler_t continue_io;
continue_io = scic_sds_controller_state_handler_table[state].base.continue_io;
- continue_io(&scic->parent, &this_request->target_device->parent,
- &this_request->parent);
+ continue_io(&scic->parent, &sci_req->target_device->parent,
+ &sci_req->parent);
}
}
diff --git a/drivers/scsi/isci/core/scic_sds_remote_device.h b/drivers/scsi/isci/core/scic_sds_remote_device.h
index d91570f212c6..4841e4579643 100644
--- a/drivers/scsi/isci/core/scic_sds_remote_device.h
+++ b/drivers/scsi/isci/core/scic_sds_remote_device.h
@@ -509,8 +509,7 @@ void scic_sds_remote_device_start_request(
struct scic_sds_request *the_request,
enum sci_status status);
-void scic_sds_remote_device_continue_request(
- struct scic_sds_remote_device *this_device);
+void scic_sds_remote_device_continue_request(void *sci_dev);
enum sci_status scic_sds_remote_device_default_start_handler(
struct sci_base_remote_device *this_device);
diff --git a/drivers/scsi/isci/core/scic_sds_stp_remote_device.c b/drivers/scsi/isci/core/scic_sds_stp_remote_device.c
index 0060804a2402..880e0e5932c0 100644
--- a/drivers/scsi/isci/core/scic_sds_stp_remote_device.c
+++ b/drivers/scsi/isci/core/scic_sds_stp_remote_device.c
@@ -188,7 +188,6 @@ static enum sci_status scic_sds_stp_remote_device_ready_substate_start_request_h
scic_sds_remote_node_context_resume(
this_device->rnc,
- (scics_sds_remote_node_context_callback)
scic_sds_remote_device_continue_request,
this_device);
}