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: Add support for Lancer G6 and 32G FC links 2015-10-27 10:17:51 +09:00
lpfc_attr.c scsi: lpfc: Fix issue_lip if link is disabled 2018-05-30 07:49:17 +02:00
lpfc_bsg.c lpfc: remove set but not used variables 2015-10-27 10:06:00 +09:00
lpfc_bsg.h
lpfc_compat.h
lpfc_crtn.h lpfc: Fix the FLOGI discovery logic to comply with T11 standards 2016-09-15 08:27:41 +02:00
lpfc_ct.c lpfc: Add support for Lancer G6 and 32G FC links 2015-10-27 10:17:51 +09:00
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 scsi: lpfc: Add shutdown method for kexec 2017-03-26 12:13:19 +02:00
lpfc_logmsg.h
lpfc_mbox.c lpfc: Fix DMA faults observed upon plugging loopback connector 2016-09-15 08:27:48 +02:00
lpfc_mem.c
lpfc_nl.h
lpfc_nportdisc.c lpfc: Fix mbox reuse in PLOGI completion 2016-09-15 08:27:42 +02:00
lpfc_scsi.c lpfc: Fix crash in fcp command completion path. 2016-09-15 08:27:42 +02:00
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 Fix kmalloc overflow in LPFC driver at large core count 2015-10-27 10:00:53 +09:00
lpfc_version.h lpfc: Update version to 11.0.0.0 for upstream patch set 2015-10-27 10:24:46 +09:00
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