summaryrefslogtreecommitdiff
path: root/drivers/scsi/raid_class.c
diff options
context:
space:
mode:
authorJeff Skirvin <jeffrey.d.skirvin@intel.com>2011-03-04 14:06:42 -0800
committerDan Williams <dan.j.williams@intel.com>2011-07-03 03:55:29 -0700
commita5fde225364df30507ba1a5aafeec85e595000d3 (patch)
treed86c9daaafe01e9df139fe0569d7d21ce6fa3f8d /drivers/scsi/raid_class.c
parent11b00c194cfbd0eb0d90f32c096508b2bb8be6ec (diff)
isci: fix completion / abort path.
Corrected use of the request state_lock in the completion callback. In the case where an abort (or reset) thread is trying to terminate an I/O request, it sets the request state to "aborting" (or "terminating") if the state is still "starting". One of the bugs was to never set the state to "completed". Another was to not correctly recognize the situation where the I/O had completed but the sas_task was still pending callback to task_done - this was typically a problem in the LUN and device reset cases. It is now possible that we leave isci_task_abort_task() with request->io_request_completion pointing to localy allocated aborted_io_completion struct. It may result in a system crash. Signed-off-by: Jeff Skirvin <jeffrey.d.skirvin@intel.com> Signed-off-by: Maciej Trela <Maciej.Trela@intel.com> Signed-off-by: Jacek Danecki <Jacek.Danecki@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/scsi/raid_class.c')
0 files changed, 0 insertions, 0 deletions