diff options
| -rw-r--r-- | drivers/scsi/isci/remote_node_context.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/drivers/scsi/isci/remote_node_context.c b/drivers/scsi/isci/remote_node_context.c index faeae9554ee3..b698081ce2dd 100644 --- a/drivers/scsi/isci/remote_node_context.c +++ b/drivers/scsi/isci/remote_node_context.c | |||
| @@ -321,8 +321,6 @@ static void sci_remote_node_context_ready_state_enter(struct sci_base_state_mach | |||
| 321 | { | 321 | { |
| 322 | struct sci_remote_node_context *rnc = container_of(sm, typeof(*rnc), sm); | 322 | struct sci_remote_node_context *rnc = container_of(sm, typeof(*rnc), sm); |
| 323 | enum sci_remote_node_context_destination_state dest_select; | 323 | enum sci_remote_node_context_destination_state dest_select; |
| 324 | scics_sds_remote_node_context_callback usr_cb = rnc->user_callback; | ||
| 325 | void *usr_param = rnc->user_cookie; | ||
| 326 | int tell_user = 1; | 324 | int tell_user = 1; |
| 327 | 325 | ||
| 328 | dest_select = rnc->destination_state; | 326 | dest_select = rnc->destination_state; |
| @@ -334,12 +332,10 @@ static void sci_remote_node_context_ready_state_enter(struct sci_base_state_mach | |||
| 334 | rnc, rnc->suspend_reason, | 332 | rnc, rnc->suspend_reason, |
| 335 | SCI_SOFTWARE_SUSPEND_EXPECTED_EVENT); | 333 | SCI_SOFTWARE_SUSPEND_EXPECTED_EVENT); |
| 336 | 334 | ||
| 337 | if (dest_select == RNC_DEST_SUSPENDED_RESUME) { | 335 | if (dest_select == RNC_DEST_SUSPENDED_RESUME) |
| 338 | sci_remote_node_context_resume(rnc, usr_cb, usr_param); | ||
| 339 | tell_user = 0; /* Wait until ready again. */ | 336 | tell_user = 0; /* Wait until ready again. */ |
| 340 | } | ||
| 341 | } | 337 | } |
| 342 | if (tell_user && rnc->user_callback) | 338 | if (tell_user) |
| 343 | sci_remote_node_context_notify_user(rnc); | 339 | sci_remote_node_context_notify_user(rnc); |
| 344 | } | 340 | } |
| 345 | 341 | ||
| @@ -584,8 +580,6 @@ enum sci_status sci_remote_node_context_suspend( | |||
| 584 | dest_param = sci_rnc->destination_state; | 580 | dest_param = sci_rnc->destination_state; |
| 585 | 581 | ||
| 586 | switch (state) { | 582 | switch (state) { |
| 587 | case SCI_RNC_RESUMING: | ||
| 588 | break; /* The RNC has been posted, so start the suspend. */ | ||
| 589 | case SCI_RNC_READY: | 583 | case SCI_RNC_READY: |
| 590 | break; | 584 | break; |
| 591 | case SCI_RNC_INVALIDATING: | 585 | case SCI_RNC_INVALIDATING: |
| @@ -596,6 +590,8 @@ enum sci_status sci_remote_node_context_suspend( | |||
| 596 | return SCI_FAILURE_INVALID_STATE; | 590 | return SCI_FAILURE_INVALID_STATE; |
| 597 | } | 591 | } |
| 598 | /* Fall through and handle like SCI_RNC_POSTING */ | 592 | /* Fall through and handle like SCI_RNC_POSTING */ |
| 593 | case SCI_RNC_RESUMING: | ||
| 594 | /* Fall through and handle like SCI_RNC_POSTING */ | ||
| 599 | case SCI_RNC_POSTING: | 595 | case SCI_RNC_POSTING: |
| 600 | /* Set the destination state to AWAIT - this signals the | 596 | /* Set the destination state to AWAIT - this signals the |
| 601 | * entry into the SCI_RNC_READY state that a suspension | 597 | * entry into the SCI_RNC_READY state that a suspension |
