scsi: lpfc: Fix I/O block after enabling managed congestion mode
If the congestion management framework dynamically enables, it may do so while I/O is in flight. The updates of cmf info due to inflight I/O completing may happen before values have been initialized. Fix by ensure cmf_max_bytes_per_interval is initialized when checking bandwidth utilization for SCSI layer blocking. Link: https://lore.kernel.org/r/20210910233159.115896-12-jsmart2021@gmail.com Co-developed-by: Justin Tee <justin.tee@broadcom.com> Signed-off-by: Justin Tee <justin.tee@broadcom.com> Signed-off-by: James Smart <jsmart2021@gmail.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Родитель
d5ac69b332
Коммит
3ea998cbf9
|
@ -3961,7 +3961,8 @@ lpfc_update_cmf_cmd(struct lpfc_hba *phba, uint32_t size)
|
|||
int cpu;
|
||||
|
||||
/* At this point we are either LPFC_CFG_MANAGED or LPFC_CFG_MONITOR */
|
||||
if (phba->cmf_active_mode == LPFC_CFG_MANAGED) {
|
||||
if (phba->cmf_active_mode == LPFC_CFG_MANAGED &&
|
||||
phba->cmf_max_bytes_per_interval) {
|
||||
total = 0;
|
||||
for_each_present_cpu(cpu) {
|
||||
cgs = per_cpu_ptr(phba->cmf_stat, cpu);
|
||||
|
|
Загрузка…
Ссылка в новой задаче