Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

scsi: qla2xxx: edif: Reduce disruption due to multiple app start

Multiple app start can trigger a session bounce. Make driver skip over
session teardown if app start is seen more than once.

Link: https://lore.kernel.org/r/20220608115849.16693-4-njavali@marvell.com
Fixes: 7ebb336e45ef ("scsi: qla2xxx: edif: Add start + stop bsgs")
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

authored by

Quinn Tran and committed by
Martin K. Petersen
0dbfce52 2b659ed6

+2 -2
+2 -2
drivers/scsi/qla2xxx/qla_edif.c
··· 510 510 /* mark doorbell as active since an app is now present */ 511 511 vha->e_dbell.db_flags |= EDB_ACTIVE; 512 512 } else { 513 - ql_dbg(ql_dbg_edif, vha, 0x911e, "%s doorbell already active\n", 514 - __func__); 513 + goto out; 515 514 } 516 515 517 516 if (N2N_TOPO(vha->hw)) { ··· 577 578 __func__); 578 579 } 579 580 581 + out: 580 582 appreply.host_support_edif = vha->hw->flags.edif_enabled; 581 583 appreply.edif_enode_active = vha->pur_cinfo.enode_flags; 582 584 appreply.edif_edb_active = vha->e_dbell.db_flags;