Skip to contentSkip to conversation

drivers/scsi/lpfc/ - remove ptr comparisons to 0, minor reformatting

PATCH New Joe Perches 1 participant 1 message Nov 13, 2007

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

PATCH 1/1 drivers/scsi/lpfc/ - remove ptr comparisons to 0, minor reformatting

fix sparse warnings "Using plain integer as NULL pointer" Use error labels for error handling

---

 drivers/scsi/lpfc/lpfc_els.c  |   64 +++++++++++++++++++++-------------------
 drivers/scsi/lpfc/lpfc_init.c |   64 +++++++++++++++++++---------------------
 drivers/scsi/lpfc/lpfc_mbox.c |   60 ++++++++++++++++++++++++--------------
 drivers/scsi/lpfc/lpfc_sli.c  |    6 ++--
 4 files changed, 105 insertions(+), 89 deletions(-)
drivers/scsi/lpfc/lpfc_els.c +34 -30
index 8085900..70dec81 100644
@@ -109,30 +109,23 @@ lpfc_prep_els_iocb(struct lpfc_vport *vport, uint8_t expectRsp,
 
 	/* fill in BDEs for command */
 	/* Allocate buffer for command payload */
-	if (((pcmd = kmalloc(sizeof(struct lpfc_dmabuf), GFP_KERNEL)) == 0) ||
-	    ((pcmd->virt = lpfc_mbuf_alloc(phba,
-					   MEM_PRI, &(pcmd->phys))) == 0)) {
-		kfree(pcmd);
-
-		lpfc_sli_release_iocbq(phba, elsiocb);
-		return NULL;
-	}
+	pcmd = kmalloc(sizeof(struct lpfc_dmabuf), GFP_KERNEL);
+	if (!pcmd)
+		goto out;
+	pcmd->virt = lpfc_mbuf_alloc(phba, MEM_PRI, &(pcmd->phys));
+	if (!pcmd->virt)
+		goto out1;
 
 	INIT_LIST_HEAD(&pcmd->list);
 
 	/* Allocate buffer for response payload */
 	if (expectRsp) {
 		prsp = kmalloc(sizeof(struct lpfc_dmabuf), GFP_KERNEL);
-		if (prsp)
-			prsp->virt = lpfc_mbuf_alloc(phba, MEM_PRI,
-						     &prsp->phys);
-		if (prsp == 0 || prsp->virt == 0) {
-			kfree(prsp);
-			lpfc_mbuf_free(phba, pcmd->virt, pcmd->phys);
-			kfree(pcmd);
-			lpfc_sli_release_iocbq(phba, elsiocb);
-			return NULL;
-		}
+		if (!prsp)
+			goto out2;
+		prsp->virt = lpfc_mbuf_alloc(phba, MEM_PRI, &prsp->phys);
+		if (!prsp->virt)
+			goto out3;
 		INIT_LIST_HEAD(&prsp->list);
 	} else {
 		prsp = NULL;
@@ -140,18 +133,12 @@ lpfc_prep_els_iocb(struct lpfc_vport *vport, uint8_t expectRsp,
 
 	/* Allocate buffer for Buffer ptr list */
 	pbuflist = kmalloc(sizeof(struct lpfc_dmabuf), GFP_KERNEL);
-	if (pbuflist)
-		pbuflist->virt = lpfc_mbuf_alloc(phba, MEM_PRI,
-						 &pbuflist->phys);
-	if (pbuflist == 0 || pbuflist->virt == 0) {
-		lpfc_sli_release_iocbq(phba, elsiocb);
-		lpfc_mbuf_free(phba, pcmd->virt, pcmd->phys);
-		lpfc_mbuf_free(phba, prsp->virt, prsp->phys);
-		kfree(pcmd);
-		kfree(prsp);
-		kfree(pbuflist);
-		return NULL;
-	}
+	if (!pbuflist)
+		goto out4;
+
+	pbuflist->virt = lpfc_mbuf_alloc(phba, MEM_PRI, &pbuflist->phys);
+	if (!pbuflist->virt)
+		goto out5;
 
 	INIT_LIST_HEAD(&pbuflist->list);
 
@@ -222,6 +209,23 @@ lpfc_prep_els_iocb(struct lpfc_vport *vport, uint8_t expectRsp,
 				 cmdSize);
 	}
 	return elsiocb;
+
+out5:
+	kfree(pbuflist);
+out4:
+	if (prsp) {
+		lpfc_mbuf_free(phba, prsp->virt, prsp->phys);
+		kfree(prsp->virt);
+	}
+out3:
+	kfree(prsp);
+out2:
+	lpfc_mbuf_free(phba, pcmd->virt, pcmd->phys);
+out1:
+	kfree(pcmd);
+out:
+	lpfc_sli_release_iocbq(phba, elsiocb);
+	return NULL;
 }
 
 
drivers/scsi/lpfc/lpfc_init.c +30 -34

103 lines not on this page · raw message

drivers/scsi/lpfc/lpfc_mbox.c +38 -22

90 lines not on this page · raw message

drivers/scsi/lpfc/lpfc_sli.c +3 -3
index ce348c5..d60bc63 100644
@@ -1921,8 +1921,8 @@ lpfc_sli_brdkill(struct lpfc_hba *phba)
 			"0329 Kill HBA Data: x%x x%x\n",
 			phba->pport->port_state, psli->sli_flag);
 
-	if ((pmb = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool,
-						  GFP_KERNEL)) == 0)
+	pmb = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
+	if (!pmb)
 		return 1;
 
 	/* Disable the error attention */
@@ -3699,7 +3699,7 @@ lpfc_sli_issue_mbox_wait(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmboxq,
 	unsigned long flag;
 
 	/* The caller must leave context1 empty. */
-	if (pmboxq->context1 != 0)
+	if (pmboxq->context1)
 		return MBX_NOT_FINISHED;
 
 	/* setup wake call as IOCB callback */