diff options
author | Dan Williams <dan.j.williams@intel.com> | 2011-06-20 15:11:22 -0700 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2011-07-03 04:04:50 -0700 |
commit | 980d3aeb3828b0fdf2a0b2e893d238130b014575 (patch) | |
tree | 76fcb476d6cb9ab4d8307ec7ff4dcfffbf1d296f /drivers/scsi/isci/request.h | |
parent | 77c852f312243192b1f2ce7fc56d678784786692 (diff) | |
download | lwn-980d3aeb3828b0fdf2a0b2e893d238130b014575.tar.gz lwn-980d3aeb3828b0fdf2a0b2e893d238130b014575.zip |
isci: fix isci_terminate_pending() list management
Walk through the list of pending requests being careful to consider that
multiple requests can be terminated when the lock is dropped (i.e.
invalidating the 'next' reference established by
list_for_each_entry_safe).
Also noticed that all callers to isci_terminate_pending_requests()
specifying terminating, so just drop the parameter.
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/scsi/isci/request.h')
-rw-r--r-- | drivers/scsi/isci/request.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/scsi/isci/request.h b/drivers/scsi/isci/request.h index 547c35cbe459..ac9368c5a6b5 100644 --- a/drivers/scsi/isci/request.h +++ b/drivers/scsi/isci/request.h @@ -776,9 +776,8 @@ isci_request_io_request_get_next_sge(struct isci_request *request, } void -isci_terminate_pending_requests(struct isci_host *isci_host, - struct isci_remote_device *isci_device, - enum isci_request_status new_request_state); +isci_terminate_pending_requests(struct isci_host *ihost, + struct isci_remote_device *idev); enum sci_status scic_task_request_construct(struct scic_sds_controller *scic, struct scic_sds_remote_device *sci_dev, |