diff options
author | Dan Williams <dan.j.williams@intel.com> | 2011-06-16 11:26:12 -0700 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2011-07-03 04:04:51 -0700 |
commit | f2088267514b39af1a94409168101527769a911c (patch) | |
tree | 9155ce7eb3edf40ecdabc690bff34622ecea1294 /drivers/scsi/isci/host.c | |
parent | 209fae14fabfd48525e5630bebbbd4ca15090c60 (diff) |
isci: kill isci_remote_device_change_state()
Now that "stopping/stopped" are one in the same and signalled by a NULL device
pointer the rest of the device status infrastructure can be removed (->status
and ->state_lock). The "not ready for i/o state" is replaced with a state
flag, and is evaluated under scic_lock so that we don't see transients from
taking the device reference to submitting the i/o.
This also fixes a potential leakage of can_queue slots in the rare case that
SAS_TASK_ABORTED is set at submission.
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/scsi/isci/host.c')
-rw-r--r-- | drivers/scsi/isci/host.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/scsi/isci/host.c b/drivers/scsi/isci/host.c index 40f35fad244..b08455f0d35 100644 --- a/drivers/scsi/isci/host.c +++ b/drivers/scsi/isci/host.c @@ -2504,7 +2504,6 @@ int isci_host_init(struct isci_host *isci_host) INIT_LIST_HEAD(&idev->reqs_in_process); INIT_LIST_HEAD(&idev->node); - spin_lock_init(&idev->state_lock); } return 0; |