Commit 136bcd84 authored by Matteo Croce's avatar Matteo Croce Committed by David S. Miller
Browse files

mvpp2: refactor BM pool init percpu code



In mvpp2_swf_bm_pool_init_percpu(), a reference to a struct
mvpp2_bm_pool is obtained traversing multiple structs, when a
local variable already points to the same object.

Fix it and, while at it, give the variable a meaningful name.

Signed-off-by: default avatarMatteo Croce <mcroce@microsoft.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b0d754ef
Loading
Loading
Loading
Loading
+11 −12
Original line number Diff line number Diff line
@@ -907,28 +907,27 @@ static int mvpp2_swf_bm_pool_init_shared(struct mvpp2_port *port)
/* Initialize pools for swf, percpu buffers variant */
static int mvpp2_swf_bm_pool_init_percpu(struct mvpp2_port *port)
{
	struct mvpp2_bm_pool *p;
	struct mvpp2_bm_pool *bm_pool;
	int i;

	for (i = 0; i < port->nrxqs; i++) {
		p = mvpp2_bm_pool_use_percpu(port, MVPP2_BM_SHORT, i,
		bm_pool = mvpp2_bm_pool_use_percpu(port, MVPP2_BM_SHORT, i,
						   mvpp2_pools[MVPP2_BM_SHORT].pkt_size);
		if (!p)
		if (!bm_pool)
			return -ENOMEM;

		port->priv->bm_pools[i].port_map |= BIT(port->id);
		mvpp2_rxq_short_pool_set(port, i, port->priv->bm_pools[i].id);
		bm_pool->port_map |= BIT(port->id);
		mvpp2_rxq_short_pool_set(port, i, bm_pool->id);
	}

	for (i = 0; i < port->nrxqs; i++) {
		p = mvpp2_bm_pool_use_percpu(port, MVPP2_BM_LONG, i + port->nrxqs,
		bm_pool = mvpp2_bm_pool_use_percpu(port, MVPP2_BM_LONG, i + port->nrxqs,
						   mvpp2_pools[MVPP2_BM_LONG].pkt_size);
		if (!p)
		if (!bm_pool)
			return -ENOMEM;

		port->priv->bm_pools[i + port->nrxqs].port_map |= BIT(port->id);
		mvpp2_rxq_long_pool_set(port, i,
					port->priv->bm_pools[i + port->nrxqs].id);
		bm_pool->port_map |= BIT(port->id);
		mvpp2_rxq_long_pool_set(port, i, bm_pool->id);
	}

	port->pool_long = NULL;