| @@ -21,27 +21,27 @@ | | | @@ -21,27 +21,27 @@ |
21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | | 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | | 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
23 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | | 23 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE |
24 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | | 24 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
25 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | | 25 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
26 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | | 26 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
27 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | | 27 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
28 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | | 28 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
29 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | | 29 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
30 | POSSIBILITY OF SUCH DAMAGE. | | 30 | POSSIBILITY OF SUCH DAMAGE. |
31 | | | 31 | |
32 | ******************************************************************************/ | | 32 | ******************************************************************************/ |
33 | /*$FreeBSD: head/sys/dev/ixgbe/ixv.c 275358 2014-12-01 11:45:24Z hselasky $*/ | | 33 | /*$FreeBSD: head/sys/dev/ixgbe/ixv.c 275358 2014-12-01 11:45:24Z hselasky $*/ |
34 | /*$NetBSD: ixv.c,v 1.19 2016/11/28 06:09:19 knakahara Exp $*/ | | 34 | /*$NetBSD: ixv.c,v 1.20 2016/11/28 08:31:17 msaitoh Exp $*/ |
35 | | | 35 | |
36 | #include "opt_inet.h" | | 36 | #include "opt_inet.h" |
37 | #include "opt_inet6.h" | | 37 | #include "opt_inet6.h" |
38 | | | 38 | |
39 | #include "ixv.h" | | 39 | #include "ixv.h" |
40 | #include "vlan.h" | | 40 | #include "vlan.h" |
41 | | | 41 | |
42 | /********************************************************************* | | 42 | /********************************************************************* |
43 | * Driver version | | 43 | * Driver version |
44 | *********************************************************************/ | | 44 | *********************************************************************/ |
45 | char ixv_driver_version[] = "1.1.4"; | | 45 | char ixv_driver_version[] = "1.1.4"; |
46 | | | 46 | |
47 | /********************************************************************* | | 47 | /********************************************************************* |
| @@ -3698,27 +3698,27 @@ ixv_rx_checksum(u32 staterr, struct mbuf | | | @@ -3698,27 +3698,27 @@ ixv_rx_checksum(u32 staterr, struct mbuf |
3698 | static void | | 3698 | static void |
3699 | ixv_setup_vlan_support(struct adapter *adapter) | | 3699 | ixv_setup_vlan_support(struct adapter *adapter) |
3700 | { | | 3700 | { |
3701 | struct ixgbe_hw *hw = &adapter->hw; | | 3701 | struct ixgbe_hw *hw = &adapter->hw; |
3702 | u32 ctrl, vid, vfta, retry; | | 3702 | u32 ctrl, vid, vfta, retry; |
3703 | | | 3703 | |
3704 | | | 3704 | |
3705 | /* | | 3705 | /* |
3706 | ** We get here thru init_locked, meaning | | 3706 | ** We get here thru init_locked, meaning |
3707 | ** a soft reset, this has already cleared | | 3707 | ** a soft reset, this has already cleared |
3708 | ** the VFTA and other state, so if there | | 3708 | ** the VFTA and other state, so if there |
3709 | ** have been no vlan's registered do nothing. | | 3709 | ** have been no vlan's registered do nothing. |
3710 | */ | | 3710 | */ |
3711 | if (adapter->num_vlans == 0) | | 3711 | if (!VLAN_ATTACHED(&adapter->osdep.ec)) |
3712 | return; | | 3712 | return; |
3713 | | | 3713 | |
3714 | /* Enable the queues */ | | 3714 | /* Enable the queues */ |
3715 | for (int i = 0; i < adapter->num_queues; i++) { | | 3715 | for (int i = 0; i < adapter->num_queues; i++) { |
3716 | ctrl = IXGBE_READ_REG(hw, IXGBE_VFRXDCTL(i)); | | 3716 | ctrl = IXGBE_READ_REG(hw, IXGBE_VFRXDCTL(i)); |
3717 | ctrl |= IXGBE_RXDCTL_VME; | | 3717 | ctrl |= IXGBE_RXDCTL_VME; |
3718 | IXGBE_WRITE_REG(hw, IXGBE_VFRXDCTL(i), ctrl); | | 3718 | IXGBE_WRITE_REG(hw, IXGBE_VFRXDCTL(i), ctrl); |
3719 | } | | 3719 | } |
3720 | | | 3720 | |
3721 | /* | | 3721 | /* |
3722 | ** A soft reset zero's out the VFTA, so | | 3722 | ** A soft reset zero's out the VFTA, so |
3723 | ** we need to repopulate it now. | | 3723 | ** we need to repopulate it now. |
3724 | */ | | 3724 | */ |