ig_hal: Fix improper multicast setup
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Mon, 4 May 2015 12:28:30 +0000 (20:28 +0800)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Tue, 5 May 2015 01:03:40 +0000 (09:03 +0800)
Obtained-from: dillon@

sys/dev/netif/ig_hal/e1000_vf.c

index 29b2af4..1edad6a 100644 (file)
@@ -418,12 +418,11 @@ void e1000_update_mc_addr_list_vf(struct e1000_hw *hw,
 
        DEBUGOUT1("MC Addr Count = %d\n", mc_addr_count);
 
+       msgbuf[0] = E1000_VF_SET_MULTICAST;
        if (mc_addr_count > 30) {
                msgbuf[0] |= E1000_VF_SET_MULTICAST_OVERFLOW;
                mc_addr_count = 30;
        }
-
-       msgbuf[0] = E1000_VF_SET_MULTICAST;
        msgbuf[0] |= mc_addr_count << E1000_VT_MSGINFO_SHIFT;
 
        for (i = 0; i < mc_addr_count; i++) {