android_kernel_oneplus_msm8998/drivers/scsi/lpfc
James Smart 25f7f5362e scsi: lpfc: Fix frequency of Release WQE CQEs
[ Upstream commit 04673e38f56b30cd39b1fa0f386137d818b17781 ]

The driver controls when the hardware sends completions that communicate
consumption of elements from the WQ. This is done by setting a WQEC bit
on a WQE.

The current driver sets it on every Nth WQE posting. However, the driver
isn't clearing the bit if the WQE is reused. Thus, if the queue depth
isn't evenly divisible by N, with enough time, it can be set on every
element, creating a lot of overhead and risking CQ full conditions.

Correct by clearing the bit when not setting it on an Nth element.

Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <james.smart@broadcom.com>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-05-30 07:49:17 +02:00
..
lpfc.h
lpfc_attr.c scsi: lpfc: Fix issue_lip if link is disabled 2018-05-30 07:49:17 +02:00
lpfc_bsg.c
lpfc_bsg.h
lpfc_compat.h
lpfc_crtn.h
lpfc_ct.c
lpfc_debugfs.c
lpfc_debugfs.h
lpfc_disc.h
lpfc_els.c scsi: lpfc: Fix PT2PT PRLI reject 2017-12-25 14:22:11 +01:00
lpfc_hbadisc.c scsi: lpfc: Fix soft lockup in lpfc worker thread during LIP testing 2018-05-30 07:49:17 +02:00
lpfc_hw.h scsi: lpfc: Clear the VendorVersion in the PLOGI/PLOGI ACC payload 2017-11-21 09:21:20 +01:00
lpfc_hw4.h scsi: lpfc: Fix secure firmware updates 2017-12-25 14:22:15 +01:00
lpfc_init.c
lpfc_logmsg.h
lpfc_mbox.c
lpfc_mem.c
lpfc_nl.h
lpfc_nportdisc.c
lpfc_scsi.c
lpfc_scsi.h
lpfc_sli.c scsi: lpfc: Fix frequency of Release WQE CQEs 2018-05-30 07:49:17 +02:00
lpfc_sli.h
lpfc_sli4.h
lpfc_version.h
lpfc_vport.c scsi: lpfc: FCoE VPort enable-disable does not bring up the VPort 2017-11-21 09:21:20 +01:00
lpfc_vport.h
Makefile