diff options
author | Eilon Greenstein <eilong@broadcom.com> | 2009-01-14 01:43:59 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-01-19 19:20:09 -0500 |
commit | af2464011f0954785687071b298f066f6cbb1c84 (patch) | |
tree | 663dc70437d1640142e88a5606763ab59cb077cd /drivers | |
parent | b4661739c67acd15a02f8e112f8cc52d24b609ed (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')
-rw-r--r-- | drivers/net/bnx2x_main.c | 9 |
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 */ |