@@ -435,7 +435,6 @@ int bnx2x_vfpf_setup_q(struct bnx2x *bp, int fp_idx)
435
435
/* calculate queue flags */
436
436
flags |= VFPF_QUEUE_FLG_STATS ;
437
437
flags |= VFPF_QUEUE_FLG_CACHE_ALIGN ;
438
- flags |= IS_MF_SD (bp ) ? VFPF_QUEUE_FLG_OV : 0 ;
439
438
flags |= VFPF_QUEUE_FLG_VLAN ;
440
439
DP (NETIF_MSG_IFUP , "vlan removal enabled\n" );
441
440
@@ -1004,7 +1003,7 @@ static void bnx2x_vf_mbx_init_vf(struct bnx2x *bp, struct bnx2x_virtf *vf,
1004
1003
}
1005
1004
1006
1005
/* convert MBX queue-flags to standard SP queue-flags */
1007
- static void bnx2x_vf_mbx_set_q_flags (u32 mbx_q_flags ,
1006
+ static void bnx2x_vf_mbx_set_q_flags (struct bnx2x * bp , u32 mbx_q_flags ,
1008
1007
unsigned long * sp_q_flags )
1009
1008
{
1010
1009
if (mbx_q_flags & VFPF_QUEUE_FLG_TPA )
@@ -1015,8 +1014,6 @@ static void bnx2x_vf_mbx_set_q_flags(u32 mbx_q_flags,
1015
1014
__set_bit (BNX2X_Q_FLG_TPA_GRO , sp_q_flags );
1016
1015
if (mbx_q_flags & VFPF_QUEUE_FLG_STATS )
1017
1016
__set_bit (BNX2X_Q_FLG_STATS , sp_q_flags );
1018
- if (mbx_q_flags & VFPF_QUEUE_FLG_OV )
1019
- __set_bit (BNX2X_Q_FLG_OV , sp_q_flags );
1020
1017
if (mbx_q_flags & VFPF_QUEUE_FLG_VLAN )
1021
1018
__set_bit (BNX2X_Q_FLG_VLAN , sp_q_flags );
1022
1019
if (mbx_q_flags & VFPF_QUEUE_FLG_COS )
@@ -1025,6 +1022,10 @@ static void bnx2x_vf_mbx_set_q_flags(u32 mbx_q_flags,
1025
1022
__set_bit (BNX2X_Q_FLG_HC , sp_q_flags );
1026
1023
if (mbx_q_flags & VFPF_QUEUE_FLG_DHC )
1027
1024
__set_bit (BNX2X_Q_FLG_DHC , sp_q_flags );
1025
+
1026
+ /* outer vlan removal is set according to the PF's multi fuction mode */
1027
+ if (IS_MF_SD (bp ))
1028
+ __set_bit (BNX2X_Q_FLG_OV , sp_q_flags );
1028
1029
}
1029
1030
1030
1031
static void bnx2x_vf_mbx_setup_q (struct bnx2x * bp , struct bnx2x_virtf * vf ,
@@ -1075,11 +1076,11 @@ static void bnx2x_vf_mbx_setup_q(struct bnx2x *bp, struct bnx2x_virtf *vf,
1075
1076
init_p -> tx .hc_rate = setup_q -> txq .hc_rate ;
1076
1077
init_p -> tx .sb_cq_index = setup_q -> txq .sb_index ;
1077
1078
1078
- bnx2x_vf_mbx_set_q_flags (setup_q -> txq .flags ,
1079
+ bnx2x_vf_mbx_set_q_flags (bp , setup_q -> txq .flags ,
1079
1080
& init_p -> tx .flags );
1080
1081
1081
1082
/* tx setup - flags */
1082
- bnx2x_vf_mbx_set_q_flags (setup_q -> txq .flags ,
1083
+ bnx2x_vf_mbx_set_q_flags (bp , setup_q -> txq .flags ,
1083
1084
& setup_p -> flags );
1084
1085
1085
1086
/* tx setup - general, nothing */
@@ -1107,11 +1108,11 @@ static void bnx2x_vf_mbx_setup_q(struct bnx2x *bp, struct bnx2x_virtf *vf,
1107
1108
/* rx init */
1108
1109
init_p -> rx .hc_rate = setup_q -> rxq .hc_rate ;
1109
1110
init_p -> rx .sb_cq_index = setup_q -> rxq .sb_index ;
1110
- bnx2x_vf_mbx_set_q_flags (setup_q -> rxq .flags ,
1111
+ bnx2x_vf_mbx_set_q_flags (bp , setup_q -> rxq .flags ,
1111
1112
& init_p -> rx .flags );
1112
1113
1113
1114
/* rx setup - flags */
1114
- bnx2x_vf_mbx_set_q_flags (setup_q -> rxq .flags ,
1115
+ bnx2x_vf_mbx_set_q_flags (bp , setup_q -> rxq .flags ,
1115
1116
& setup_p -> flags );
1116
1117
1117
1118
/* rx setup - general */
0 commit comments