diff mbox

[1/9] scsi: qla4xxx: Use zeroing allocator rather than allocator/memset

Message ID 1514647712-6332-2-git-send-email-himanshujha199640@gmail.com (mailing list archive)
State Accepted
Headers show

Commit Message

Himanshu Jha Dec. 30, 2017, 3:28 p.m. UTC
Use dma_zalloc_coherent instead of dma_alloc_coherent followed by memset
0.

Generated-by: scripts/coccinelle/api/alloc/kzalloc-simple.cocci

Suggested-by: Luis R. Rodriguez <mcgrof@kernel.org>
Signed-off-by: Himanshu Jha <himanshujha199640@gmail.com>
---
 drivers/scsi/qla4xxx/ql4_init.c |  5 ++---
 drivers/scsi/qla4xxx/ql4_mbx.c  | 21 +++++++++------------
 drivers/scsi/qla4xxx/ql4_nx.c   |  5 ++---
 drivers/scsi/qla4xxx/ql4_os.c   | 12 +++++-------
 4 files changed, 18 insertions(+), 25 deletions(-)

--

Comments

Rangankar, Manish Jan. 2, 2018, 4:39 a.m. UTC | #1
On 30/12/17 8:58 PM, "Himanshu Jha" <himanshujha199640@gmail.com> wrote:

>Use dma_zalloc_coherent instead of dma_alloc_coherent followed by memset
>0.
>
>Generated-by: scripts/coccinelle/api/alloc/kzalloc-simple.cocci
>
>Suggested-by: Luis R. Rodriguez <mcgrof@kernel.org>
>Signed-off-by: Himanshu Jha <himanshujha199640@gmail.com>
>---
> drivers/scsi/qla4xxx/ql4_init.c |  5 ++---
> drivers/scsi/qla4xxx/ql4_mbx.c  | 21 +++++++++------------
> drivers/scsi/qla4xxx/ql4_nx.c   |  5 ++---
> drivers/scsi/qla4xxx/ql4_os.c   | 12 +++++-------
> 4 files changed, 18 insertions(+), 25 deletions(-)
>
>diff --git a/drivers/scsi/qla4xxx/ql4_init.c
>b/drivers/scsi/qla4xxx/ql4_init.c
>index 5d6d158..52b1a0b 100644
>--- a/drivers/scsi/qla4xxx/ql4_init.c
>+++ b/drivers/scsi/qla4xxx/ql4_init.c
>@@ -153,15 +153,14 @@ int qla4xxx_get_sys_info(struct scsi_qla_host *ha)
> 	dma_addr_t sys_info_dma;
> 	int status = QLA_ERROR;
> 
>-	sys_info = dma_alloc_coherent(&ha->pdev->dev, sizeof(*sys_info),
>-				      &sys_info_dma, GFP_KERNEL);
>+	sys_info = dma_zalloc_coherent(&ha->pdev->dev, sizeof(*sys_info),
>+				       &sys_info_dma, GFP_KERNEL);
> 	if (sys_info == NULL) {
> 		DEBUG2(printk("scsi%ld: %s: Unable to allocate dma buffer.\n",
> 			      ha->host_no, __func__));
> 
> 		goto exit_get_sys_info_no_free;
> 	}
>-	memset(sys_info, 0, sizeof(*sys_info));
> 
> 	/* Get flash sys info */
> 	if (qla4xxx_get_flash(ha, sys_info_dma, FLASH_OFFSET_SYS_INFO,
>diff --git a/drivers/scsi/qla4xxx/ql4_mbx.c
>b/drivers/scsi/qla4xxx/ql4_mbx.c
>index 1da04f3..bda2e64 100644
>--- a/drivers/scsi/qla4xxx/ql4_mbx.c
>+++ b/drivers/scsi/qla4xxx/ql4_mbx.c
>@@ -625,15 +625,14 @@ int qla4xxx_initialize_fw_cb(struct scsi_qla_host *
>ha)
> 	uint32_t mbox_sts[MBOX_REG_COUNT];
> 	int status = QLA_ERROR;
> 
>-	init_fw_cb = dma_alloc_coherent(&ha->pdev->dev,
>-					sizeof(struct addr_ctrl_blk),
>-					&init_fw_cb_dma, GFP_KERNEL);
>+	init_fw_cb = dma_zalloc_coherent(&ha->pdev->dev,
>+					 sizeof(struct addr_ctrl_blk),
>+					 &init_fw_cb_dma, GFP_KERNEL);
> 	if (init_fw_cb == NULL) {
> 		DEBUG2(printk("scsi%ld: %s: Unable to alloc init_cb\n",
> 			      ha->host_no, __func__));
> 		goto exit_init_fw_cb_no_free;
> 	}
>-	memset(init_fw_cb, 0, sizeof(struct addr_ctrl_blk));
> 
> 	/* Get Initialize Firmware Control Block. */
> 	memset(&mbox_cmd, 0, sizeof(mbox_cmd));
>@@ -710,9 +709,9 @@ int qla4xxx_get_dhcp_ip_address(struct scsi_qla_host
>* ha)
> 	uint32_t mbox_cmd[MBOX_REG_COUNT];
> 	uint32_t mbox_sts[MBOX_REG_COUNT];
> 
>-	init_fw_cb = dma_alloc_coherent(&ha->pdev->dev,
>-					sizeof(struct addr_ctrl_blk),
>-					&init_fw_cb_dma, GFP_KERNEL);
>+	init_fw_cb = dma_zalloc_coherent(&ha->pdev->dev,
>+					 sizeof(struct addr_ctrl_blk),
>+					 &init_fw_cb_dma, GFP_KERNEL);
> 	if (init_fw_cb == NULL) {
> 		printk("scsi%ld: %s: Unable to alloc init_cb\n", ha->host_no,
> 		       __func__);
>@@ -720,7 +719,6 @@ int qla4xxx_get_dhcp_ip_address(struct scsi_qla_host
>* ha)
> 	}
> 
> 	/* Get Initialize Firmware Control Block. */
>-	memset(init_fw_cb, 0, sizeof(struct addr_ctrl_blk));
> 	if (qla4xxx_get_ifcb(ha, &mbox_cmd[0], &mbox_sts[0], init_fw_cb_dma) !=
> 	    QLA_SUCCESS) {
> 		DEBUG2(printk("scsi%ld: %s: Failed to get init_fw_ctrl_blk\n",
>@@ -1342,16 +1340,15 @@ int qla4xxx_about_firmware(struct scsi_qla_host
>*ha)
> 	uint32_t mbox_sts[MBOX_REG_COUNT];
> 	int status = QLA_ERROR;
> 
>-	about_fw = dma_alloc_coherent(&ha->pdev->dev,
>-				      sizeof(struct about_fw_info),
>-				      &about_fw_dma, GFP_KERNEL);
>+	about_fw = dma_zalloc_coherent(&ha->pdev->dev,
>+				       sizeof(struct about_fw_info),
>+				       &about_fw_dma, GFP_KERNEL);
> 	if (!about_fw) {
> 		DEBUG2(ql4_printk(KERN_ERR, ha, "%s: Unable to alloc memory "
> 				  "for about_fw\n", __func__));
> 		return status;
> 	}
> 
>-	memset(about_fw, 0, sizeof(struct about_fw_info));
> 	memset(&mbox_cmd, 0, sizeof(mbox_cmd));
> 	memset(&mbox_sts, 0, sizeof(mbox_sts));
> 
>diff --git a/drivers/scsi/qla4xxx/ql4_nx.c b/drivers/scsi/qla4xxx/ql4_nx.c
>index e91abb3..968bd85 100644
>--- a/drivers/scsi/qla4xxx/ql4_nx.c
>+++ b/drivers/scsi/qla4xxx/ql4_nx.c
>@@ -4050,15 +4050,14 @@ int qla4_8xxx_get_sys_info(struct scsi_qla_host
>*ha)
> 	dma_addr_t sys_info_dma;
> 	int status = QLA_ERROR;
> 
>-	sys_info = dma_alloc_coherent(&ha->pdev->dev, sizeof(*sys_info),
>-				      &sys_info_dma, GFP_KERNEL);
>+	sys_info = dma_zalloc_coherent(&ha->pdev->dev, sizeof(*sys_info),
>+				       &sys_info_dma, GFP_KERNEL);
> 	if (sys_info == NULL) {
> 		DEBUG2(printk("scsi%ld: %s: Unable to allocate dma buffer.\n",
> 		    ha->host_no, __func__));
> 		return status;
> 	}
> 
>-	memset(sys_info, 0, sizeof(*sys_info));
> 	memset(&mbox_cmd, 0, sizeof(mbox_cmd));
> 	memset(&mbox_sts, 0, sizeof(mbox_sts));
> 
>diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c
>index 2b8a8ce..82e889b 100644
>--- a/drivers/scsi/qla4xxx/ql4_os.c
>+++ b/drivers/scsi/qla4xxx/ql4_os.c
>@@ -2689,16 +2689,15 @@ qla4xxx_iface_set_param(struct Scsi_Host *shost,
>void *data, uint32_t len)
> 	uint32_t rem = len;
> 	struct nlattr *attr;
> 
>-	init_fw_cb = dma_alloc_coherent(&ha->pdev->dev,
>-					sizeof(struct addr_ctrl_blk),
>-					&init_fw_cb_dma, GFP_KERNEL);
>+	init_fw_cb = dma_zalloc_coherent(&ha->pdev->dev,
>+					 sizeof(struct addr_ctrl_blk),
>+					 &init_fw_cb_dma, GFP_KERNEL);
> 	if (!init_fw_cb) {
> 		ql4_printk(KERN_ERR, ha, "%s: Unable to alloc init_cb\n",
> 			   __func__);
> 		return -ENOMEM;
> 	}
> 
>-	memset(init_fw_cb, 0, sizeof(struct addr_ctrl_blk));
> 	memset(&mbox_cmd, 0, sizeof(mbox_cmd));
> 	memset(&mbox_sts, 0, sizeof(mbox_sts));
> 
>@@ -4196,15 +4195,14 @@ static int qla4xxx_mem_alloc(struct scsi_qla_host
>*ha)
> 			  sizeof(struct shadow_regs) +
> 			  MEM_ALIGN_VALUE +
> 			  (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1);
>-	ha->queues = dma_alloc_coherent(&ha->pdev->dev, ha->queues_len,
>-					&ha->queues_dma, GFP_KERNEL);
>+	ha->queues = dma_zalloc_coherent(&ha->pdev->dev, ha->queues_len,
>+					 &ha->queues_dma, GFP_KERNEL);
> 	if (ha->queues == NULL) {
> 		ql4_printk(KERN_WARNING, ha,
> 		    "Memory Allocation failed - queues.\n");
> 
> 		goto mem_alloc_error_exit;
> 	}
>-	memset(ha->queues, 0, ha->queues_len);
> 
> 	/*
> 	 * As per RISC alignment requirements -- the bus-address must be a
>-- 

Acked-by: Manish Rangankar <Manish.Rangankar@cavium.com>

>
Martin K. Petersen Jan. 4, 2018, 6:08 a.m. UTC | #2
Himanshu,

> Use dma_zalloc_coherent instead of dma_alloc_coherent followed by memset
> 0.

Applied to 4.16/scsi-queue.
diff mbox

Patch

diff --git a/drivers/scsi/qla4xxx/ql4_init.c b/drivers/scsi/qla4xxx/ql4_init.c
index 5d6d158..52b1a0b 100644
--- a/drivers/scsi/qla4xxx/ql4_init.c
+++ b/drivers/scsi/qla4xxx/ql4_init.c
@@ -153,15 +153,14 @@  int qla4xxx_get_sys_info(struct scsi_qla_host *ha)
 	dma_addr_t sys_info_dma;
 	int status = QLA_ERROR;
 
-	sys_info = dma_alloc_coherent(&ha->pdev->dev, sizeof(*sys_info),
-				      &sys_info_dma, GFP_KERNEL);
+	sys_info = dma_zalloc_coherent(&ha->pdev->dev, sizeof(*sys_info),
+				       &sys_info_dma, GFP_KERNEL);
 	if (sys_info == NULL) {
 		DEBUG2(printk("scsi%ld: %s: Unable to allocate dma buffer.\n",
 			      ha->host_no, __func__));
 
 		goto exit_get_sys_info_no_free;
 	}
-	memset(sys_info, 0, sizeof(*sys_info));
 
 	/* Get flash sys info */
 	if (qla4xxx_get_flash(ha, sys_info_dma, FLASH_OFFSET_SYS_INFO,
diff --git a/drivers/scsi/qla4xxx/ql4_mbx.c b/drivers/scsi/qla4xxx/ql4_mbx.c
index 1da04f3..bda2e64 100644
--- a/drivers/scsi/qla4xxx/ql4_mbx.c
+++ b/drivers/scsi/qla4xxx/ql4_mbx.c
@@ -625,15 +625,14 @@  int qla4xxx_initialize_fw_cb(struct scsi_qla_host * ha)
 	uint32_t mbox_sts[MBOX_REG_COUNT];
 	int status = QLA_ERROR;
 
-	init_fw_cb = dma_alloc_coherent(&ha->pdev->dev,
-					sizeof(struct addr_ctrl_blk),
-					&init_fw_cb_dma, GFP_KERNEL);
+	init_fw_cb = dma_zalloc_coherent(&ha->pdev->dev,
+					 sizeof(struct addr_ctrl_blk),
+					 &init_fw_cb_dma, GFP_KERNEL);
 	if (init_fw_cb == NULL) {
 		DEBUG2(printk("scsi%ld: %s: Unable to alloc init_cb\n",
 			      ha->host_no, __func__));
 		goto exit_init_fw_cb_no_free;
 	}
-	memset(init_fw_cb, 0, sizeof(struct addr_ctrl_blk));
 
 	/* Get Initialize Firmware Control Block. */
 	memset(&mbox_cmd, 0, sizeof(mbox_cmd));
@@ -710,9 +709,9 @@  int qla4xxx_get_dhcp_ip_address(struct scsi_qla_host * ha)
 	uint32_t mbox_cmd[MBOX_REG_COUNT];
 	uint32_t mbox_sts[MBOX_REG_COUNT];
 
-	init_fw_cb = dma_alloc_coherent(&ha->pdev->dev,
-					sizeof(struct addr_ctrl_blk),
-					&init_fw_cb_dma, GFP_KERNEL);
+	init_fw_cb = dma_zalloc_coherent(&ha->pdev->dev,
+					 sizeof(struct addr_ctrl_blk),
+					 &init_fw_cb_dma, GFP_KERNEL);
 	if (init_fw_cb == NULL) {
 		printk("scsi%ld: %s: Unable to alloc init_cb\n", ha->host_no,
 		       __func__);
@@ -720,7 +719,6 @@  int qla4xxx_get_dhcp_ip_address(struct scsi_qla_host * ha)
 	}
 
 	/* Get Initialize Firmware Control Block. */
-	memset(init_fw_cb, 0, sizeof(struct addr_ctrl_blk));
 	if (qla4xxx_get_ifcb(ha, &mbox_cmd[0], &mbox_sts[0], init_fw_cb_dma) !=
 	    QLA_SUCCESS) {
 		DEBUG2(printk("scsi%ld: %s: Failed to get init_fw_ctrl_blk\n",
@@ -1342,16 +1340,15 @@  int qla4xxx_about_firmware(struct scsi_qla_host *ha)
 	uint32_t mbox_sts[MBOX_REG_COUNT];
 	int status = QLA_ERROR;
 
-	about_fw = dma_alloc_coherent(&ha->pdev->dev,
-				      sizeof(struct about_fw_info),
-				      &about_fw_dma, GFP_KERNEL);
+	about_fw = dma_zalloc_coherent(&ha->pdev->dev,
+				       sizeof(struct about_fw_info),
+				       &about_fw_dma, GFP_KERNEL);
 	if (!about_fw) {
 		DEBUG2(ql4_printk(KERN_ERR, ha, "%s: Unable to alloc memory "
 				  "for about_fw\n", __func__));
 		return status;
 	}
 
-	memset(about_fw, 0, sizeof(struct about_fw_info));
 	memset(&mbox_cmd, 0, sizeof(mbox_cmd));
 	memset(&mbox_sts, 0, sizeof(mbox_sts));
 
diff --git a/drivers/scsi/qla4xxx/ql4_nx.c b/drivers/scsi/qla4xxx/ql4_nx.c
index e91abb3..968bd85 100644
--- a/drivers/scsi/qla4xxx/ql4_nx.c
+++ b/drivers/scsi/qla4xxx/ql4_nx.c
@@ -4050,15 +4050,14 @@  int qla4_8xxx_get_sys_info(struct scsi_qla_host *ha)
 	dma_addr_t sys_info_dma;
 	int status = QLA_ERROR;
 
-	sys_info = dma_alloc_coherent(&ha->pdev->dev, sizeof(*sys_info),
-				      &sys_info_dma, GFP_KERNEL);
+	sys_info = dma_zalloc_coherent(&ha->pdev->dev, sizeof(*sys_info),
+				       &sys_info_dma, GFP_KERNEL);
 	if (sys_info == NULL) {
 		DEBUG2(printk("scsi%ld: %s: Unable to allocate dma buffer.\n",
 		    ha->host_no, __func__));
 		return status;
 	}
 
-	memset(sys_info, 0, sizeof(*sys_info));
 	memset(&mbox_cmd, 0, sizeof(mbox_cmd));
 	memset(&mbox_sts, 0, sizeof(mbox_sts));
 
diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c
index 2b8a8ce..82e889b 100644
--- a/drivers/scsi/qla4xxx/ql4_os.c
+++ b/drivers/scsi/qla4xxx/ql4_os.c
@@ -2689,16 +2689,15 @@  qla4xxx_iface_set_param(struct Scsi_Host *shost, void *data, uint32_t len)
 	uint32_t rem = len;
 	struct nlattr *attr;
 
-	init_fw_cb = dma_alloc_coherent(&ha->pdev->dev,
-					sizeof(struct addr_ctrl_blk),
-					&init_fw_cb_dma, GFP_KERNEL);
+	init_fw_cb = dma_zalloc_coherent(&ha->pdev->dev,
+					 sizeof(struct addr_ctrl_blk),
+					 &init_fw_cb_dma, GFP_KERNEL);
 	if (!init_fw_cb) {
 		ql4_printk(KERN_ERR, ha, "%s: Unable to alloc init_cb\n",
 			   __func__);
 		return -ENOMEM;
 	}
 
-	memset(init_fw_cb, 0, sizeof(struct addr_ctrl_blk));
 	memset(&mbox_cmd, 0, sizeof(mbox_cmd));
 	memset(&mbox_sts, 0, sizeof(mbox_sts));
 
@@ -4196,15 +4195,14 @@  static int qla4xxx_mem_alloc(struct scsi_qla_host *ha)
 			  sizeof(struct shadow_regs) +
 			  MEM_ALIGN_VALUE +
 			  (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1);
-	ha->queues = dma_alloc_coherent(&ha->pdev->dev, ha->queues_len,
-					&ha->queues_dma, GFP_KERNEL);
+	ha->queues = dma_zalloc_coherent(&ha->pdev->dev, ha->queues_len,
+					 &ha->queues_dma, GFP_KERNEL);
 	if (ha->queues == NULL) {
 		ql4_printk(KERN_WARNING, ha,
 		    "Memory Allocation failed - queues.\n");
 
 		goto mem_alloc_error_exit;
 	}
-	memset(ha->queues, 0, ha->queues_len);
 
 	/*
 	 * As per RISC alignment requirements -- the bus-address must be a