diff options
author | Eilon Greenstein <eilong@broadcom.com> | 2009-01-15 00:29:55 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-01-15 11:28:15 -0500 |
commit | 26c8fa4d8a08b6e7a61f23339e2236218957ecc0 (patch) | |
tree | e2fb903b83bd1008268f80caa144bf09af8aa3da /drivers/net | |
parent | f5ba6772f226be0266f95642c8162493246d3b79 (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.c | 9 |
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 | ||
4525 | static void bnx2x_init_ind_table(struct bnx2x *bp) | 4525 | static 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 | ||
4542 | static void bnx2x_set_client_config(struct bnx2x *bp) | 4540 | static 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)) |