[SCSI] lpfc 8.3.5: fix fcp command polling, add FIP mode, performance optimisations and devloss timout fixes
This patch includes the following changes: - Fixed Panic/Hang when using polling mode for fcp commands - Added support for Read_rev mbox bits indicating FIP mode of HBA - Optimize performance of slow-path handling of els responses - Add code to cleanup orphaned unsolicited receive sequences - Fixed Devloss timeout when multiple initiators are in same zone Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:

committed by
James Bottomley

parent
0d87841997
commit
45ed119035
@@ -853,12 +853,19 @@ lpfc_hb_mbox_cmpl(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmboxq)
|
||||
void
|
||||
lpfc_hb_timeout_handler(struct lpfc_hba *phba)
|
||||
{
|
||||
struct lpfc_vport **vports;
|
||||
LPFC_MBOXQ_t *pmboxq;
|
||||
struct lpfc_dmabuf *buf_ptr;
|
||||
int retval;
|
||||
int retval, i;
|
||||
struct lpfc_sli *psli = &phba->sli;
|
||||
LIST_HEAD(completions);
|
||||
|
||||
vports = lpfc_create_vport_work_array(phba);
|
||||
if (vports != NULL)
|
||||
for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++)
|
||||
lpfc_rcv_seq_check_edtov(vports[i]);
|
||||
lpfc_destroy_vport_work_array(phba, vports);
|
||||
|
||||
if ((phba->link_state == LPFC_HBA_ERROR) ||
|
||||
(phba->pport->load_flag & FC_UNLOADING) ||
|
||||
(phba->pport->fc_flag & FC_OFFLINE_MODE))
|
||||
@@ -3519,7 +3526,7 @@ lpfc_sli4_driver_resource_setup(struct lpfc_hba *phba)
|
||||
/* Driver internel slow-path CQ Event pool */
|
||||
INIT_LIST_HEAD(&phba->sli4_hba.sp_cqe_event_pool);
|
||||
/* Response IOCB work queue list */
|
||||
INIT_LIST_HEAD(&phba->sli4_hba.sp_rspiocb_work_queue);
|
||||
INIT_LIST_HEAD(&phba->sli4_hba.sp_queue_event);
|
||||
/* Asynchronous event CQ Event work queue list */
|
||||
INIT_LIST_HEAD(&phba->sli4_hba.sp_asynce_work_queue);
|
||||
/* Fast-path XRI aborted CQ Event work queue list */
|
||||
|
Reference in New Issue
Block a user