aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bnx2x_main.c
diff options
context:
space:
mode:
authorEilon Greenstein <eilong@broadcom.com>2009-01-14 01:43:59 -0500
committerDavid S. Miller <davem@davemloft.net>2009-01-19 19:20:09 -0500
commitaf2464011f0954785687071b298f066f6cbb1c84 (patch)
tree663dc70437d1640142e88a5606763ab59cb077cd /drivers/net/bnx2x_main.c
parentb4661739c67acd15a02f8e112f8cc52d24b609ed (diff)
bnx2x: Wrong HDR offset in CAM
Has a negative side effect when sending MAC update with no content (as done in the self-test) Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2x_main.c')
-rw-r--r--drivers/net/bnx2x_main.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/bnx2x_main.c b/drivers/net/bnx2x_main.c
index 70fc61033ddf..8f8271d76db6 100644
--- a/drivers/net/bnx2x_main.c
+++ b/drivers/net/bnx2x_main.c
@@ -6144,7 +6144,7 @@ static void bnx2x_set_mac_addr_e1(struct bnx2x *bp, int set)
6144 * multicast 64-127:port0 128-191:port1 6144 * multicast 64-127:port0 128-191:port1
6145 */ 6145 */
6146 config->hdr.length_6b = 2; 6146 config->hdr.length_6b = 2;
6147 config->hdr.offset = port ? 31 : 0; 6147 config->hdr.offset = port ? 32 : 0;
6148 config->hdr.client_id = BP_CL_ID(bp); 6148 config->hdr.client_id = BP_CL_ID(bp);
6149 config->hdr.reserved1 = 0; 6149 config->hdr.reserved1 = 0;
6150 6150
@@ -8910,7 +8910,10 @@ static int bnx2x_test_intr(struct bnx2x *bp)
8910 return -ENODEV; 8910 return -ENODEV;
8911 8911
8912 config->hdr.length_6b = 0; 8912 config->hdr.length_6b = 0;
8913 config->hdr.offset = 0; 8913 if (CHIP_IS_E1(bp))
8914 config->hdr.offset = (BP_PORT(bp) ? 32 : 0);
8915 else
8916 config->hdr.offset = BP_FUNC(bp);
8914 config->hdr.client_id = BP_CL_ID(bp); 8917 config->hdr.client_id = BP_CL_ID(bp);
8915 config->hdr.reserved1 = 0; 8918 config->hdr.reserved1 = 0;
8916 8919
@@ -9863,7 +9866,7 @@ static void bnx2x_set_rx_mode(struct net_device *dev)
9863 for (; i < old; i++) { 9866 for (; i < old; i++) {
9864 if (CAM_IS_INVALID(config-> 9867 if (CAM_IS_INVALID(config->
9865 config_table[i])) { 9868 config_table[i])) {
9866 i--; /* already invalidated */ 9869 /* already invalidated */
9867 break; 9870 break;
9868 } 9871 }
9869 /* invalidate */ 9872 /* invalidate */