aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorEilon Greenstein <eilong@broadcom.com>2009-01-15 00:29:55 -0500
committerDavid S. Miller <davem@davemloft.net>2009-01-15 11:28:15 -0500
commit26c8fa4d8a08b6e7a61f23339e2236218957ecc0 (patch)
treee2fb903b83bd1008268f80caa144bf09af8aa3da /drivers/net
parentf5ba6772f226be0266f95642c8162493246d3b79 (diff)
bnx2x: Indirection table initialization index
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>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/bnx2x_main.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/net/bnx2x_main.c b/drivers/net/bnx2x_main.c
index a755fea996d5..9e6aa8a1ee91 100644
--- a/drivers/net/bnx2x_main.c
+++ b/drivers/net/bnx2x_main.c
@@ -4524,7 +4524,7 @@ static void bnx2x_init_context(struct bnx2x *bp)
4524 4524
4525static void bnx2x_init_ind_table(struct bnx2x *bp) 4525static void bnx2x_init_ind_table(struct bnx2x *bp)
4526{ 4526{
4527 int port = BP_PORT(bp); 4527 int func = BP_FUNC(bp);
4528 int i; 4528 int i;
4529 4529
4530 if (!is_multi(bp)) 4530 if (!is_multi(bp))
@@ -4533,10 +4533,8 @@ static void bnx2x_init_ind_table(struct bnx2x *bp)
4533 DP(NETIF_MSG_IFUP, "Initializing indirection table\n"); 4533 DP(NETIF_MSG_IFUP, "Initializing indirection table\n");
4534 for (i = 0; i < TSTORM_INDIRECTION_TABLE_SIZE; i++) 4534 for (i = 0; i < TSTORM_INDIRECTION_TABLE_SIZE; i++)
4535 REG_WR8(bp, BAR_TSTRORM_INTMEM + 4535 REG_WR8(bp, BAR_TSTRORM_INTMEM +
4536 TSTORM_INDIRECTION_TABLE_OFFSET(port) + i, 4536 TSTORM_INDIRECTION_TABLE_OFFSET(func) + i,
4537 i % bp->num_queues); 4537 BP_CL_ID(bp) + (i % bp->num_queues));
4538
4539 REG_WR(bp, PRS_REG_A_PRSU_20, 0xf);
4540} 4538}
4541 4539
4542static void bnx2x_set_client_config(struct bnx2x *bp) 4540static void bnx2x_set_client_config(struct bnx2x *bp)
@@ -5240,6 +5238,7 @@ static int bnx2x_init_common(struct bnx2x *bp)
5240 } 5238 }
5241 5239
5242 bnx2x_init_block(bp, PRS_COMMON_START, PRS_COMMON_END); 5240 bnx2x_init_block(bp, PRS_COMMON_START, PRS_COMMON_END);
5241 REG_WR(bp, PRS_REG_A_PRSU_20, 0xf);
5243 /* set NIC mode */ 5242 /* set NIC mode */
5244 REG_WR(bp, PRS_REG_NIC_MODE, 1); 5243 REG_WR(bp, PRS_REG_NIC_MODE, 1);
5245 if (CHIP_IS_E1H(bp)) 5244 if (CHIP_IS_E1H(bp))