linux_dsm_epyc7002/include/scsi
Bart Van Assche 8893cf6cb1 scsi: mpt3sas: Avoid sleeping in interrupt context
Commit 669f044170 ("scsi: srp_transport: Move queuecommand() wait code
to SCSI core") can make scsi_internal_device_block() sleep.  However,
the mpt3sas driver can call this function from an interrupt
handler. Hence add a second argument to scsi_internal_device_block()
that restores the old behavior of this function for the mpt3sas handler.

The call chain that triggered an "IRQ handler enabled interrupts"
complaint is as follows:

_base_interrupt()
-> _base_async_event()
   -> mpt3sas_scsih_event_callback()
      -> _scsih_check_topo_delete_events()
         -> _scsih_block_io_to_children_attached_directly()
            -> _scsih_block_io_device()
               -> _scsih_internal_device_block()
                  -> scsi_internal_device_block()

Reported-by: Omar Sandoval <osandov@osandov.com>
Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Cc: Omar Sandoval <osandov@osandov.com>
Cc: Hannes Reinecke <hare@suse.com>
Cc: Sagi Grimberg <sagi@grimberg.me>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Sathya Prakash <sathya.prakash@broadcom.com>
Cc: Chaitra P B <chaitra.basappa@broadcom.com>
Cc: Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>
Cc: Sreekanth Reddy <Sreekanth.Reddy@broadcom.com>
Cc: <stable@vger.kernel.org> # v4.10+
Tested-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2017-03-01 21:52:13 -05:00
..
fc
fc_encode.h
fc_frame.h
fcoe_sysfs.h
iscsi_if.h
iscsi_proto.h linux: drop __bitwise__ everywhere 2016-12-16 00:13:41 +02:00
iser.h
libfc.h scsi: libfc: Fix variable name in fc_set_wwpn 2017-01-16 15:43:02 -05:00
libfcoe.h
libiscsi_tcp.h
libiscsi.h scsi: libiscsi: add lock around task lists to fix list corruption regression 2017-02-28 22:05:22 -05:00
libsas.h
osd_attributes.h
osd_initiator.h
osd_ore.h
osd_protocol.h
osd_sec.h
osd_sense.h
osd_types.h
sas_ata.h
sas.h
scsi_bsg_iscsi.h
scsi_cmnd.h block: introduce blk_rq_is_passthrough 2017-01-31 14:00:34 -07:00
scsi_common.h
scsi_dbg.h
scsi_device.h scsi: mpt3sas: Avoid sleeping in interrupt context 2017-03-01 21:52:13 -05:00
scsi_devinfo.h
scsi_dh.h
scsi_driver.h
scsi_eh.h
scsi_host.h scsi: allocate scsi_cmnd structures as part of struct request 2017-01-27 15:08:35 -07:00
scsi_ioctl.h
scsi_proto.h
scsi_request.h block: split scsi_request out of struct request 2017-01-27 15:08:35 -07:00
scsi_tcq.h
scsi_transport_fc.h scsi: remove eh_timed_out methods in the transport template 2017-02-06 19:10:03 -05:00
scsi_transport_iscsi.h
scsi_transport_sas.h
scsi_transport_spi.h
scsi_transport_srp.h scsi: remove tsk_mgmt_response and it_nexus_response transport methods 2017-02-06 19:10:41 -05:00
scsi_transport.h SCSI misc on 20170220 2017-02-21 11:51:42 -08:00
scsi.h scsi: remove useless acpi functions in the header file 2017-01-10 23:13:58 -05:00
scsicam.h
sg.h
srp.h
viosrp.h