aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/igb/igb_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/igb/igb_main.c')
-rw-r--r--drivers/net/igb/igb_main.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index c4d861b557ca..fd922e7db1d5 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -4659,12 +4659,13 @@ static int igb_set_vf_promisc(struct igb_adapter *adapter, u32 *msgbuf, u32 vf)
4659 u32 vmolr = rd32(E1000_VMOLR(vf)); 4659 u32 vmolr = rd32(E1000_VMOLR(vf));
4660 struct vf_data_storage *vf_data = &adapter->vf_data[vf]; 4660 struct vf_data_storage *vf_data = &adapter->vf_data[vf];
4661 4661
4662 vf_data->flags |= ~(IGB_VF_FLAG_UNI_PROMISC | 4662 vf_data->flags &= ~(IGB_VF_FLAG_UNI_PROMISC |
4663 IGB_VF_FLAG_MULTI_PROMISC); 4663 IGB_VF_FLAG_MULTI_PROMISC);
4664 vmolr &= ~(E1000_VMOLR_ROPE | E1000_VMOLR_ROMPE | E1000_VMOLR_MPME); 4664 vmolr &= ~(E1000_VMOLR_ROPE | E1000_VMOLR_ROMPE | E1000_VMOLR_MPME);
4665 4665
4666 if (*msgbuf & E1000_VF_SET_PROMISC_MULTICAST) { 4666 if (*msgbuf & E1000_VF_SET_PROMISC_MULTICAST) {
4667 vmolr |= E1000_VMOLR_MPME; 4667 vmolr |= E1000_VMOLR_MPME;
4668 vf_data->flags |= IGB_VF_FLAG_MULTI_PROMISC;
4668 *msgbuf &= ~E1000_VF_SET_PROMISC_MULTICAST; 4669 *msgbuf &= ~E1000_VF_SET_PROMISC_MULTICAST;
4669 } else { 4670 } else {
4670 /* 4671 /*