Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ae94607d authored by Mariusz Kozlowski's avatar Mariusz Kozlowski Committed by David S. Miller
Browse files

drivers/net/via-velocity.c: mostly kmalloc + memset conversion to kcalloc



Signed-off-by: default avatarMariusz Kozlowski <m.kozlowski@tuxland.pl>

 drivers/net/via-velocity.c | 88263 -> 88120 (-143 bytes)
 drivers/net/via-velocity.o | 254264 -> 253828 (-436 bytes)

 drivers/net/via-velocity.c |   24 ++++++++++--------------
 1 file changed, 10 insertions(+), 14 deletions(-)
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent c477f334
Loading
Loading
Loading
Loading
+10 −14
Original line number Diff line number Diff line
@@ -1071,14 +1071,12 @@ static int velocity_rx_refill(struct velocity_info *vptr)

static int velocity_init_rd_ring(struct velocity_info *vptr)
{
	int ret = -ENOMEM;
	unsigned int rsize = sizeof(struct velocity_rd_info) *
					vptr->options.numrx;
	int ret;

	vptr->rd_info = kmalloc(rsize, GFP_KERNEL);
	if(vptr->rd_info == NULL)
		goto out;
	memset(vptr->rd_info, 0, rsize);
	vptr->rd_info = kcalloc(vptr->options.numrx,
				sizeof(struct velocity_rd_info), GFP_KERNEL);
	if (!vptr->rd_info)
		return -ENOMEM;

	vptr->rd_filled = vptr->rd_dirty = vptr->rd_curr = 0;

@@ -1088,7 +1086,7 @@ static int velocity_init_rd_ring(struct velocity_info *vptr)
			"%s: failed to allocate RX buffer.\n", vptr->dev->name);
		velocity_free_rd_ring(vptr);
	}
out:

	return ret;
}

@@ -1142,21 +1140,19 @@ static int velocity_init_td_ring(struct velocity_info *vptr)
	dma_addr_t curr;
	struct tx_desc *td;
	struct velocity_td_info *td_info;
	unsigned int tsize = sizeof(struct velocity_td_info) *
					vptr->options.numtx;

	/* Init the TD ring entries */
	for (j = 0; j < vptr->num_txq; j++) {
		curr = vptr->td_pool_dma[j];

		vptr->td_infos[j] = kmalloc(tsize, GFP_KERNEL);
		if(vptr->td_infos[j] == NULL)
		{
		vptr->td_infos[j] = kcalloc(vptr->options.numtx,
					    sizeof(struct velocity_td_info),
					    GFP_KERNEL);
		if (!vptr->td_infos[j])	{
			while(--j >= 0)
				kfree(vptr->td_infos[j]);
			return -ENOMEM;
		}
		memset(vptr->td_infos[j], 0, tsize);

		for (i = 0; i < vptr->options.numtx; i++, curr += sizeof(struct tx_desc)) {
			td = &(vptr->td_rings[j][i]);