diff options
-rw-r--r-- | drivers/net/bnx2.c | 10 | ||||
-rw-r--r-- | drivers/net/bnx2.h | 1 |
2 files changed, 8 insertions, 3 deletions
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index 49fa1e4413fa..790dc926acae 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c | |||
@@ -1916,11 +1916,11 @@ bnx2_set_rx_mode(struct net_device *dev) | |||
1916 | BNX2_EMAC_RX_MODE_KEEP_VLAN_TAG); | 1916 | BNX2_EMAC_RX_MODE_KEEP_VLAN_TAG); |
1917 | sort_mode = 1 | BNX2_RPM_SORT_USER0_BC_EN; | 1917 | sort_mode = 1 | BNX2_RPM_SORT_USER0_BC_EN; |
1918 | #ifdef BCM_VLAN | 1918 | #ifdef BCM_VLAN |
1919 | if (!bp->vlgrp) { | 1919 | if (!bp->vlgrp && !(bp->flags & ASF_ENABLE_FLAG)) |
1920 | rx_mode |= BNX2_EMAC_RX_MODE_KEEP_VLAN_TAG; | 1920 | rx_mode |= BNX2_EMAC_RX_MODE_KEEP_VLAN_TAG; |
1921 | } | ||
1922 | #else | 1921 | #else |
1923 | rx_mode |= BNX2_EMAC_RX_MODE_KEEP_VLAN_TAG; | 1922 | if (!(bp->flags & ASF_ENABLE_FLAG)) |
1923 | rx_mode |= BNX2_EMAC_RX_MODE_KEEP_VLAN_TAG; | ||
1924 | #endif | 1924 | #endif |
1925 | if (dev->flags & IFF_PROMISC) { | 1925 | if (dev->flags & IFF_PROMISC) { |
1926 | /* Promiscuous mode. */ | 1926 | /* Promiscuous mode. */ |
@@ -3218,6 +3218,10 @@ bnx2_init_chip(struct bnx2 *bp) | |||
3218 | 3218 | ||
3219 | REG_WR(bp, BNX2_HC_ATTN_BITS_ENABLE, STATUS_ATTN_BITS_LINK_STATE); | 3219 | REG_WR(bp, BNX2_HC_ATTN_BITS_ENABLE, STATUS_ATTN_BITS_LINK_STATE); |
3220 | 3220 | ||
3221 | if (REG_RD_IND(bp, bp->shmem_base + BNX2_PORT_FEATURE) & | ||
3222 | BNX2_PORT_FEATURE_ASF_ENABLED) | ||
3223 | bp->flags |= ASF_ENABLE_FLAG; | ||
3224 | |||
3221 | /* Initialize the receive filter. */ | 3225 | /* Initialize the receive filter. */ |
3222 | bnx2_set_rx_mode(bp->dev); | 3226 | bnx2_set_rx_mode(bp->dev); |
3223 | 3227 | ||
diff --git a/drivers/net/bnx2.h b/drivers/net/bnx2.h index 76bb5f1a250b..8a70311d781f 100644 --- a/drivers/net/bnx2.h +++ b/drivers/net/bnx2.h | |||
@@ -3956,6 +3956,7 @@ struct bnx2 { | |||
3956 | #define NO_WOL_FLAG 8 | 3956 | #define NO_WOL_FLAG 8 |
3957 | #define USING_DAC_FLAG 0x10 | 3957 | #define USING_DAC_FLAG 0x10 |
3958 | #define USING_MSI_FLAG 0x20 | 3958 | #define USING_MSI_FLAG 0x20 |
3959 | #define ASF_ENABLE_FLAG 0x40 | ||
3959 | 3960 | ||
3960 | u32 phy_flags; | 3961 | u32 phy_flags; |
3961 | #define PHY_SERDES_FLAG 1 | 3962 | #define PHY_SERDES_FLAG 1 |