From: Hannes Reinecke <[email protected]> Call 'nvme_fc_fpin_rcv()' to enable FPIN notifications for NVMe.
Signed-off-by: Hannes Reinecke <[email protected]> Reviewed-by: Justin Tee <[email protected]> Tested-by: Bryan Gurney <[email protected]> Tested-by: Muneendra Kumar <[email protected]> --- drivers/scsi/lpfc/lpfc_els.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c index c7cbc5b50dfe..146ed6fd41af 100644 --- a/drivers/scsi/lpfc/lpfc_els.c +++ b/drivers/scsi/lpfc/lpfc_els.c @@ -33,6 +33,7 @@ #include <scsi/scsi_transport_fc.h> #include <uapi/scsi/fc/fc_fs.h> #include <uapi/scsi/fc/fc_els.h> +#include <linux/nvme-fc-driver.h> #include "lpfc_hw4.h" #include "lpfc_hw.h" @@ -10249,9 +10250,15 @@ lpfc_els_rcv_fpin(struct lpfc_vport *vport, void *p, u32 fpin_length) fpin_length += sizeof(struct fc_els_fpin); /* the entire FPIN */ /* Send every descriptor individually to the upper layer */ - if (deliver) + if (deliver) { fc_host_fpin_rcv(lpfc_shost_from_vport(vport), fpin_length, (char *)fpin, 0); +#if (IS_ENABLED(CONFIG_NVME_FC)) + if (vport->cfg_enable_fc4_type & LPFC_ENABLE_NVME) + nvme_fc_fpin_rcv(vport->localport, + fpin_length, (char *)fpin); +#endif + } desc_cnt++; } } -- 2.50.1
