Commit ee9108fe authored by Denis Efremov's avatar Denis Efremov Committed by Martin K. Petersen
Browse files

scsi: libcxgbi: Use kvzalloc instead of opencoded kzalloc/vzalloc

Remove cxgbi_alloc_big_mem(), cxgbi_free_big_mem() functions and use
kvzalloc/kvfree instead. __GFP_NOWARN added to kvzalloc() call because we
already print a warning in case of allocation fail.

Link: https://lore.kernel.org/r/20200801133123.61834-1-efremov@linux.com


Signed-off-by: default avatarDenis Efremov <efremov@linux.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent ca358af1
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -77,9 +77,9 @@ int cxgbi_device_portmap_create(struct cxgbi_device *cdev, unsigned int base,
{
	struct cxgbi_ports_map *pmap = &cdev->pmap;

	pmap->port_csk = cxgbi_alloc_big_mem(max_conn *
					     sizeof(struct cxgbi_sock *),
					     GFP_KERNEL);
	pmap->port_csk = kvzalloc(array_size(max_conn,
					     sizeof(struct cxgbi_sock *)),
				  GFP_KERNEL | __GFP_NOWARN);
	if (!pmap->port_csk) {
		pr_warn("cdev 0x%p, portmap OOM %u.\n", cdev, max_conn);
		return -ENOMEM;
@@ -124,7 +124,7 @@ static inline void cxgbi_device_destroy(struct cxgbi_device *cdev)
	if (cdev->cdev2ppm)
		cxgbi_ppm_release(cdev->cdev2ppm(cdev));
	if (cdev->pmap.max_connect)
		cxgbi_free_big_mem(cdev->pmap.port_csk);
		kvfree(cdev->pmap.port_csk);
	kfree(cdev);
}

+0 −16
Original line number Diff line number Diff line
@@ -575,22 +575,6 @@ struct cxgbi_iso_info {
	u32 buffer_offset;
};

static inline void *cxgbi_alloc_big_mem(unsigned int size,
					gfp_t gfp)
{
	void *p = kzalloc(size, gfp | __GFP_NOWARN);

	if (!p)
		p = vzalloc(size);

	return p;
}

static inline void cxgbi_free_big_mem(void *addr)
{
	kvfree(addr);
}

static inline void cxgbi_set_iscsi_ipv4(struct cxgbi_hba *chba, __be32 ipaddr)
{
	if (chba->cdev->flags & CXGBI_FLAG_IPV4_SET)