Skip to contentSkip to conversation

lpfc 8.1.4 : Two misc fixes

PATCH In review James Smart 1 participant 1 message Mar 7, 2006

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 5/6 lpfc 8.1.4 : Two misc fixes

Two misc fixes:
- Fix deadlock caused by return with host_lock held in lpfc_findnode_did
- Initialize all fields of the allocated mail box structure to zero. Was causing some sysfs mailbox commands to fail immediately after load.

drivers/scsi/lpfc/lpfc_hbadisc.c +2 -0
@@ -1760,6 +1760,7 @@ lpfc_findnode_did(struct lpfc_hba * phba
 						phba->brd_no,
 						ndlp, ndlp->nlp_DID,
 						ndlp->nlp_flag, data1);
+				spin_unlock_irq(phba->host->host_lock);
 				return ndlp;
 			}
 		}
@@ -1805,6 +1806,7 @@ lpfc_findnode_did(struct lpfc_hba * phba
 						phba->brd_no,
 						ndlp, ndlp->nlp_DID,
 						ndlp->nlp_flag, data1);
+				spin_unlock_irq(phba->host->host_lock);
 				return ndlp;
 			}
 		}
drivers/scsi/lpfc/lpfc_attr.c +1 -1
@@ -856,7 +856,7 @@ sysfs_mbox_write(struct kobject *kobj, c
 		mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
 		if (!mbox)
 			return -ENOMEM;
-
+		memset(mbox, 0, sizeof (LPFC_MBOXQ_t));
 	}
 
 	spin_lock_irq(host->host_lock);