diff options
author | Dmitry Kravkov <Dmitry.Kravkov@qlogic.com> | 2014-08-28 09:54:23 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-09-01 20:53:57 -0400 |
commit | 55ef5c89db81aabf2c3802de830774feb7eb8b22 (patch) | |
tree | ad6c97bf38c69856a9920afcc084f53ef6faec74 | |
parent | a5325ae5b8bff051933a754db7727fc9823e6414 (diff) |
bnx2x: prevent incorrect byte-swap in BE
Fixes incorrectly defined struct in FW HSI for BE platform.
Affects tunneling, tx-switching and anti-spoofing.
Introduced in e42780b66aab88d3a82b6087bcd6095b90eecde7
bnx2x: Utilize FW 7.10.51
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Dmitry Kravkov <Dmitry.Kravkov@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x_hsi.h | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_hsi.h b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_hsi.h index 7ea04537ecbf..5579d4bdbaac 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_hsi.h +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_hsi.h | |||
@@ -3983,29 +3983,10 @@ struct eth_mac_addresses { | |||
3983 | 3983 | ||
3984 | /* tunneling related data */ | 3984 | /* tunneling related data */ |
3985 | struct eth_tunnel_data { | 3985 | struct eth_tunnel_data { |
3986 | #if defined(__BIG_ENDIAN) | ||
3987 | __le16 dst_mid; | ||
3988 | __le16 dst_lo; | ||
3989 | #elif defined(__LITTLE_ENDIAN) | ||
3990 | __le16 dst_lo; | 3986 | __le16 dst_lo; |
3991 | __le16 dst_mid; | 3987 | __le16 dst_mid; |
3992 | #endif | ||
3993 | #if defined(__BIG_ENDIAN) | ||
3994 | __le16 fw_ip_hdr_csum; | ||
3995 | __le16 dst_hi; | ||
3996 | #elif defined(__LITTLE_ENDIAN) | ||
3997 | __le16 dst_hi; | 3988 | __le16 dst_hi; |
3998 | __le16 fw_ip_hdr_csum; | 3989 | __le16 fw_ip_hdr_csum; |
3999 | #endif | ||
4000 | #if defined(__BIG_ENDIAN) | ||
4001 | u8 flags; | ||
4002 | #define ETH_TUNNEL_DATA_IP_HDR_TYPE_OUTER (0x1<<0) | ||
4003 | #define ETH_TUNNEL_DATA_IP_HDR_TYPE_OUTER_SHIFT 0 | ||
4004 | #define ETH_TUNNEL_DATA_RESERVED (0x7F<<1) | ||
4005 | #define ETH_TUNNEL_DATA_RESERVED_SHIFT 1 | ||
4006 | u8 ip_hdr_start_inner_w; | ||
4007 | __le16 pseudo_csum; | ||
4008 | #elif defined(__LITTLE_ENDIAN) | ||
4009 | __le16 pseudo_csum; | 3990 | __le16 pseudo_csum; |
4010 | u8 ip_hdr_start_inner_w; | 3991 | u8 ip_hdr_start_inner_w; |
4011 | u8 flags; | 3992 | u8 flags; |
@@ -4013,7 +3994,6 @@ struct eth_tunnel_data { | |||
4013 | #define ETH_TUNNEL_DATA_IP_HDR_TYPE_OUTER_SHIFT 0 | 3994 | #define ETH_TUNNEL_DATA_IP_HDR_TYPE_OUTER_SHIFT 0 |
4014 | #define ETH_TUNNEL_DATA_RESERVED (0x7F<<1) | 3995 | #define ETH_TUNNEL_DATA_RESERVED (0x7F<<1) |
4015 | #define ETH_TUNNEL_DATA_RESERVED_SHIFT 1 | 3996 | #define ETH_TUNNEL_DATA_RESERVED_SHIFT 1 |
4016 | #endif | ||
4017 | }; | 3997 | }; |
4018 | 3998 | ||
4019 | /* union for mac addresses and for tunneling data. | 3999 | /* union for mac addresses and for tunneling data. |