Skip to content

Commit

Permalink
bnx2x: Indirection table initialization index
Browse files Browse the repository at this point in the history
Wrong initialization of the multi-queue indirection table - it should
be using the function and not the port index

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Eilon Greenstein authored and David S. Miller committed Jan 15, 2009
1 parent f5ba677 commit 26c8fa4
Showing 1 changed file with 4 additions and 5 deletions.
9 changes: 4 additions & 5 deletions drivers/net/bnx2x_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -4524,7 +4524,7 @@ static void bnx2x_init_context(struct bnx2x *bp)

static void bnx2x_init_ind_table(struct bnx2x *bp)
{
int port = BP_PORT(bp);
int func = BP_FUNC(bp);
int i;

if (!is_multi(bp))
Expand All @@ -4533,10 +4533,8 @@ static void bnx2x_init_ind_table(struct bnx2x *bp)
DP(NETIF_MSG_IFUP, "Initializing indirection table\n");
for (i = 0; i < TSTORM_INDIRECTION_TABLE_SIZE; i++)
REG_WR8(bp, BAR_TSTRORM_INTMEM +
TSTORM_INDIRECTION_TABLE_OFFSET(port) + i,
i % bp->num_queues);

REG_WR(bp, PRS_REG_A_PRSU_20, 0xf);
TSTORM_INDIRECTION_TABLE_OFFSET(func) + i,
BP_CL_ID(bp) + (i % bp->num_queues));
}

static void bnx2x_set_client_config(struct bnx2x *bp)
Expand Down Expand Up @@ -5240,6 +5238,7 @@ static int bnx2x_init_common(struct bnx2x *bp)
}

bnx2x_init_block(bp, PRS_COMMON_START, PRS_COMMON_END);
REG_WR(bp, PRS_REG_A_PRSU_20, 0xf);
/* set NIC mode */
REG_WR(bp, PRS_REG_NIC_MODE, 1);
if (CHIP_IS_E1H(bp))
Expand Down

0 comments on commit 26c8fa4

Please sign in to comment.