From 633b774cc87ebb0643f3cf523a8edaa6ba014268 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Sun, 1 May 2011 10:13:04 -0700 Subject: [PATCH] --- yaml --- r: 254441 b: refs/heads/master c: f619fffb4070a577524fd9eb68cea484d86d2b97 h: refs/heads/master i: 254439: 84d8bfd45fc0f07e61a56805a0c2e9c18462e33d v: v3 --- [refs] | 2 +- trunk/drivers/scsi/isci/remote_device.c | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index ead378877511..1ab1d2311acd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8f304c36ee415600c6bbc5de300e6fa3dbe59d6d +refs/heads/master: f619fffb4070a577524fd9eb68cea484d86d2b97 diff --git a/trunk/drivers/scsi/isci/remote_device.c b/trunk/drivers/scsi/isci/remote_device.c index 834a3feaca63..3e567bf84c74 100644 --- a/trunk/drivers/scsi/isci/remote_device.c +++ b/trunk/drivers/scsi/isci/remote_device.c @@ -1157,10 +1157,8 @@ static enum sci_status scic_sds_stp_remote_device_ready_ncq_substate_start_io_ha return status; status = scic_sds_remote_node_context_start_io(&sci_dev->rnc, request); - if (status != SCI_SUCCESS) - return status; - - status = request->state_handlers->start_handler(request); + if (status == SCI_SUCCESS) + status = request->state_handlers->start_handler(request); scic_sds_remote_device_start_request(sci_dev, request, status); } else @@ -1302,16 +1300,17 @@ static enum sci_status scic_sds_smp_remote_device_ready_idle_substate_start_io_h status = scic_sds_remote_node_context_start_io(&sci_dev->rnc, sci_req); if (status != SCI_SUCCESS) - return status; + goto out; status = scic_sds_request_start(sci_req); if (status != SCI_SUCCESS) - return status; + goto out; sci_dev->working_request = sci_req; sci_base_state_machine_change_state(&sci_dev->state_machine, SCIC_SDS_SMP_REMOTE_DEVICE_READY_SUBSTATE_CMD); + out: scic_sds_remote_device_start_request(sci_dev, sci_req, status); return status;