summaryrefslogtreecommitdiff
path: root/drivers/scsi/isci/remote_node_context.h
diff options
context:
space:
mode:
authorJeff Skirvin <jeffrey.d.skirvin@intel.com>2012-03-14 00:15:11 (GMT)
committerDan Williams <dan.j.williams@intel.com>2012-05-17 21:33:44 (GMT)
commitde2eb4d5c5c25e8fb75d1e19092f24b83cb7d8d5 (patch)
tree537fae73fbf34d34b5e83151a467275986ffb6b5 /drivers/scsi/isci/remote_node_context.h
parent6c6aacbb7787dccc6fb662bae66e599bbf0f07b5 (diff)
downloadlinux-fsl-qoriq-de2eb4d5c5c25e8fb75d1e19092f24b83cb7d8d5.tar.xz
isci: End the RNC resumption wait when the RNC is destroyed.
While the RNC is suspended for I/O cleanup, the remote device can be stopped and the RNC setup for destruction. These changes accomodate that case in the abort path. Signed-off-by: Jeff Skirvin <jeffrey.d.skirvin@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/scsi/isci/remote_node_context.h')
-rw-r--r--drivers/scsi/isci/remote_node_context.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/scsi/isci/remote_node_context.h b/drivers/scsi/isci/remote_node_context.h
index 0d4a24d..a703b9c 100644
--- a/drivers/scsi/isci/remote_node_context.h
+++ b/drivers/scsi/isci/remote_node_context.h
@@ -229,8 +229,8 @@ int sci_remote_node_context_is_safe_to_abort(
static inline bool sci_remote_node_context_is_being_destroyed(
struct sci_remote_node_context *sci_rnc)
{
- return ((sci_rnc->sm.current_state_id == SCI_RNC_INVALIDATING)
- && (sci_rnc->destination_state == RNC_DEST_FINAL))
- || (sci_rnc->sm.current_state_id == SCI_RNC_INITIAL);
+ return (sci_rnc->destination_state == RNC_DEST_FINAL)
+ || ((sci_rnc->sm.current_state_id == SCI_RNC_INITIAL)
+ && (sci_rnc->destination_state == RNC_DEST_UNSPECIFIED));
}
#endif /* _SCIC_SDS_REMOTE_NODE_CONTEXT_H_ */