summaryrefslogtreecommitdiff
path: root/drivers/scsi/qla4xxx/ql4_bsg.c
diff options
context:
space:
mode:
authorMatthew R. Ochs <mrochs@linux.vnet.ibm.com>2015-10-21 15:11:52 -0500
committerJames Bottomley <JBottomley@Odin.com>2015-10-30 17:02:40 +0900
commit0a27ae514740b4d64b586043d6b837ad5d0c40f8 (patch)
treee5a30419013e20bc2ea3ebb8f17f16dfe36639be /drivers/scsi/qla4xxx/ql4_bsg.c
parenta76df368beb31f55aca03c6cd34c272b86e49470 (diff)
cxlflash: Fix to avoid CXL services during EEH
During an EEH freeze event, certain CXL services should not be called until after the hardware reset has taken place. Doing so can result in unnecessary failures and possibly cause other ill effects by triggering hardware accesses. This translates to a requirement to quiesce all threads that may potentially use CXL runtime service during this window. In particular, multiple ioctls make use of the CXL services when acting on contexts on behalf of the user. Thus, it is essential to 'drain' running ioctls _before_ proceeding with handling the EEH freeze event. Create the ability to drain ioctls by wrapping the ioctl handler call in a read semaphore and then implementing a small routine that obtains the write semaphore, effectively creating a wait point for all currently executing ioctls. Signed-off-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com> Signed-off-by: Manoj N. Kumar <manoj@linux.vnet.ibm.com> Reviewed-by: Brian King <brking@linux.vnet.ibm.com> Reviewed-by: Daniel Axtens <dja@axtens.net> Reviewed-by: Tomas Henzl <thenzl@redhat.com> Signed-off-by: James Bottomley <JBottomley@Odin.com>
Diffstat (limited to 'drivers/scsi/qla4xxx/ql4_bsg.c')
0 files changed, 0 insertions, 0 deletions