lpfc 8.3.38: Fixed OXID reuse issue.
Subsystems (2)
PATCH 6/11 lpfc 8.3.38: Fixed OXID reuse issue.
Fixed OXID reuse issue.
Signed-off-by James Smart <[email protected]>
---
lpfc_attr.c | 8 +++++++- lpfc_sli.c | 6 ++++-- 2 files changed, 11 insertions(+), 3 deletions(-)
drivers/scsi/lpfc/lpfc_attr.c +7 -1
@@ -2306,7 +2306,13 @@ int lpfc_enable_rrq;module_param (lpfc_enable_rrq, int,S_IRUGO );MODULE_PARM_DESC (lpfc_enable_rrq,"Enable RRQ functionality" );lpfc_param_show (enable_rrq); -lpfc_param_init (enable_rrq,0 ,0 ,1 ); +/* +# lpfc_enable_rrq: Track XRI/OXID reuse after IO failures +# 0x0 = disabled, XRI/OXID use not tracked. +# 0x1 = XRI/OXID reuse is timed with ratov, RRQ sent. +# 0x2 = XRI/OXID reuse is timed with ratov, No RRQ sent. +*/ +lpfc_param_init (enable_rrq,2 ,0 ,2 ); static DEVICE_ATTR(lpfc_enable_rrq, S_IRUGO, lpfc_enable_rrq_show, NULL);/*
drivers/scsi/lpfc/lpfc_sli.c +4 -2
@@ -872,14 +872,16 @@ lpfc_set_rrq_active(struct lpfc_hba *phb xritag, rxid, ndlp->nlp_DID, send_rrq);return -EINVAL ; } - rrq->send_rrq = send_rrq; +if (phba->cfg_enable_rrq ==1 ) + rrq->send_rrq = send_rrq; +else + rrq->send_rrq =0 ; rrq->xritag = xritag; rrq->rrq_stop_time = jiffies +HZ * (phba->fc_ratov +1 ); rrq->ndlp = ndlp; rrq->nlp_DID = ndlp->nlp_DID; rrq->vport = ndlp->vport; rrq->rxid = rxid; - rrq->send_rrq = send_rrq;spin_lock_irqsave (&phba->hbalock, iflags); empty =list_empty (&phba->active_rrq_list);list_add_tail (&rrq->list, &phba->active_rrq_list);