linux/drivers/scsi/lpfc
James Smart 5073842093 lpfc: support nvmet_fc defer_rcv callback
Currently, calls to nvmet_fc_rcv_fcp_req() always copied the
FC-NVME cmd iu to a temporary buffer before returning, allowing
the driver to immediately repost the buffer to the hardware.

To address timing conditions on queue element structures vs async
command reception, the nvmet_fc transport occasionally may need to
hold on to the command iu buffer for a short period. In these cases,
the nvmet_fc_rcv_fcp_req() will return a special return code
(-EOVERFLOW). In these cases, the LLDD must delay until the new
defer_rcv lldd callback is called before recycling the buffer back
to the hw.

This patch adds support for the new nvmet_fc transport defer_rcv
callback and recognition of the new error code when passing commands
to the transport.

Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
2017-08-10 11:19:05 +02:00
..
lpfc_attr.c lpfc: support nvmet_fc defer_rcv callback 2017-08-10 11:19:05 +02:00
lpfc_attr.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_bsg.c Fix crash after issuing lip reset 2017-04-24 09:25:49 +02:00
lpfc_bsg.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_compat.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_crtn.h scsi: lpfc: Avoid NULL pointer dereference in lpfc_els_abort() 2017-05-31 22:44:13 -04:00
lpfc_ct.c scsi: lpfc: Fix vports not logging into target 2017-06-12 21:37:31 -04:00
lpfc_debugfs.c lpfc: support nvmet_fc defer_rcv callback 2017-08-10 11:19:05 +02:00
lpfc_debugfs.h scsi: lpfc: fix building without debugfs support 2017-03-23 11:28:43 -04:00
lpfc_disc.h scsi: lpfc: Fix NVMEI's handling of NVMET's PRLI response attributes 2017-05-16 21:24:17 -04:00
lpfc_els.c scsi: lpfc: Driver responds LS_RJT to Beacon Off ELS - Linux 2017-06-19 21:41:03 -04:00
lpfc_hbadisc.c scsi: lpfc: Fix SLI3 drivers attempting NVME ELS commands. 2017-06-19 21:40:21 -04:00
lpfc_hw4.h scsi: lpfc: Add auto EQ delay logic 2017-06-12 21:37:31 -04:00
lpfc_hw.h Add Fabric assigned WWN support. 2017-04-24 09:25:49 +02:00
lpfc_ids.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_init.c scsi: lpfc: fix refcount error on node list 2017-06-26 15:01:01 -04:00
lpfc_logmsg.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_mbox.c Update ABORT processing for NVMET. 2017-04-24 09:25:49 +02:00
lpfc_mem.c scsi: lpfc: Separate NVMET RQ buffer posting from IO resources SGL/iocbq/context 2017-05-16 21:21:47 -04:00
lpfc_nl.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_nportdisc.c scsi: lpfc: Avoid NULL pointer dereference in lpfc_els_abort() 2017-05-31 22:44:13 -04:00
lpfc_nvme.c scsi: lpfc: Fix nvme io stoppage after link bounce 2017-06-26 15:01:00 -04:00
lpfc_nvme.h scsi: lpfc: Fix transition nvme-i rport handling to nport only. 2017-06-12 21:37:30 -04:00
lpfc_nvmet.c lpfc: support nvmet_fc defer_rcv callback 2017-08-10 11:19:05 +02:00
lpfc_nvmet.h lpfc: support nvmet_fc defer_rcv callback 2017-08-10 11:19:05 +02:00
lpfc_scsi.c Merge branch 'for-linus' of git://git.kernel.dk/linux-block 2017-07-11 15:36:52 -07:00
lpfc_scsi.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_sli4.h scsi: lpfc: Break up IO ctx list into a separate get and put list 2017-06-19 21:40:10 -04:00
lpfc_sli.c scsi: lpfc: Fix crash doing IO with resets 2017-06-19 21:40:44 -04:00
lpfc_sli.h scsi: lpfc: Add auto EQ delay logic 2017-06-12 21:37:31 -04:00
lpfc_version.h scsi: lpfc: update to revision to 11.4.0.1 2017-06-19 21:41:12 -04:00
lpfc_vport.c Fix crash after issuing lip reset 2017-04-24 09:25:49 +02:00
lpfc_vport.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc.h scsi: lpfc: Add auto EQ delay logic 2017-06-12 21:37:31 -04:00
Makefile scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00