|
@@ -169,6 +169,7 @@ lpfc_update_stats(struct lpfc_hba *phba, struct lpfc_scsi_buf *lpfc_cmd)
|
|
|
spin_lock_irqsave(shost->host_lock, flags);
|
|
|
if (!vport->stat_data_enabled ||
|
|
|
vport->stat_data_blocked ||
|
|
|
+ !pnode ||
|
|
|
!pnode->lat_data ||
|
|
|
(phba->bucket_type == LPFC_NO_BUCKET)) {
|
|
|
spin_unlock_irqrestore(shost->host_lock, flags);
|
|
@@ -2040,6 +2041,9 @@ lpfc_send_scsi_error_event(struct lpfc_hba *phba, struct lpfc_vport *vport,
|
|
|
struct lpfc_nodelist *pnode = lpfc_cmd->rdata->pnode;
|
|
|
unsigned long flags;
|
|
|
|
|
|
+ if (!pnode || !NLP_CHK_NODE_ACT(pnode))
|
|
|
+ return;
|
|
|
+
|
|
|
/* If there is queuefull or busy condition send a scsi event */
|
|
|
if ((cmnd->result == SAM_STAT_TASK_SET_FULL) ||
|
|
|
(cmnd->result == SAM_STAT_BUSY)) {
|
|
@@ -3226,10 +3230,11 @@ lpfc_send_taskmgmt(struct lpfc_vport *vport, struct lpfc_rport_data *rdata,
|
|
|
struct lpfc_scsi_buf *lpfc_cmd;
|
|
|
struct lpfc_iocbq *iocbq;
|
|
|
struct lpfc_iocbq *iocbqrsp;
|
|
|
+ struct lpfc_nodelist *pnode = rdata->pnode;
|
|
|
int ret;
|
|
|
int status;
|
|
|
|
|
|
- if (!rdata->pnode || !NLP_CHK_NODE_ACT(rdata->pnode))
|
|
|
+ if (!pnode || !NLP_CHK_NODE_ACT(pnode))
|
|
|
return FAILED;
|
|
|
|
|
|
lpfc_cmd = lpfc_get_scsi_buf(phba);
|
|
@@ -3256,7 +3261,7 @@ lpfc_send_taskmgmt(struct lpfc_vport *vport, struct lpfc_rport_data *rdata,
|
|
|
"0702 Issue %s to TGT %d LUN %d "
|
|
|
"rpi x%x nlp_flag x%x\n",
|
|
|
lpfc_taskmgmt_name(task_mgmt_cmd), tgt_id, lun_id,
|
|
|
- rdata->pnode->nlp_rpi, rdata->pnode->nlp_flag);
|
|
|
+ pnode->nlp_rpi, pnode->nlp_flag);
|
|
|
|
|
|
status = lpfc_sli_issue_iocb_wait(phba, LPFC_FCP_RING,
|
|
|
iocbq, iocbqrsp, lpfc_cmd->timeout);
|