diff options
Diffstat (limited to 'drivers/net/ixgbe')
-rw-r--r-- | drivers/net/ixgbe/ixgbe_82598.c | 1 | ||||
-rw-r--r-- | drivers/net/ixgbe/ixgbe_main.c | 12 | ||||
-rw-r--r-- | drivers/net/ixgbe/ixgbe_type.h | 1 |
3 files changed, 10 insertions, 4 deletions
diff --git a/drivers/net/ixgbe/ixgbe_82598.c b/drivers/net/ixgbe/ixgbe_82598.c index 2f38e847e2cd..f96358b641af 100644 --- a/drivers/net/ixgbe/ixgbe_82598.c +++ b/drivers/net/ixgbe/ixgbe_82598.c | |||
@@ -190,6 +190,7 @@ static enum ixgbe_media_type ixgbe_get_media_type_82598(struct ixgbe_hw *hw) | |||
190 | case IXGBE_DEV_ID_82598AF_DUAL_PORT: | 190 | case IXGBE_DEV_ID_82598AF_DUAL_PORT: |
191 | case IXGBE_DEV_ID_82598AF_SINGLE_PORT: | 191 | case IXGBE_DEV_ID_82598AF_SINGLE_PORT: |
192 | case IXGBE_DEV_ID_82598EB_CX4: | 192 | case IXGBE_DEV_ID_82598EB_CX4: |
193 | case IXGBE_DEV_ID_82598_CX4_DUAL_PORT: | ||
193 | media_type = ixgbe_media_type_fiber; | 194 | media_type = ixgbe_media_type_fiber; |
194 | break; | 195 | break; |
195 | case IXGBE_DEV_ID_82598AT_DUAL_PORT: | 196 | case IXGBE_DEV_ID_82598AT_DUAL_PORT: |
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c index e5f3da8468cc..53f41b649f03 100644 --- a/drivers/net/ixgbe/ixgbe_main.c +++ b/drivers/net/ixgbe/ixgbe_main.c | |||
@@ -48,7 +48,7 @@ char ixgbe_driver_name[] = "ixgbe"; | |||
48 | static const char ixgbe_driver_string[] = | 48 | static const char ixgbe_driver_string[] = |
49 | "Intel(R) 10 Gigabit PCI Express Network Driver"; | 49 | "Intel(R) 10 Gigabit PCI Express Network Driver"; |
50 | 50 | ||
51 | #define DRV_VERSION "1.3.18-k2" | 51 | #define DRV_VERSION "1.3.18-k4" |
52 | const char ixgbe_driver_version[] = DRV_VERSION; | 52 | const char ixgbe_driver_version[] = DRV_VERSION; |
53 | static const char ixgbe_copyright[] = | 53 | static const char ixgbe_copyright[] = |
54 | "Copyright (c) 1999-2007 Intel Corporation."; | 54 | "Copyright (c) 1999-2007 Intel Corporation."; |
@@ -72,6 +72,8 @@ static struct pci_device_id ixgbe_pci_tbl[] = { | |||
72 | board_82598 }, | 72 | board_82598 }, |
73 | {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598EB_CX4), | 73 | {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598EB_CX4), |
74 | board_82598 }, | 74 | board_82598 }, |
75 | {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598_CX4_DUAL_PORT), | ||
76 | board_82598 }, | ||
75 | 77 | ||
76 | /* required last entry */ | 78 | /* required last entry */ |
77 | {0, } | 79 | {0, } |
@@ -1634,16 +1636,17 @@ static void ixgbe_set_multi(struct net_device *netdev) | |||
1634 | struct ixgbe_hw *hw = &adapter->hw; | 1636 | struct ixgbe_hw *hw = &adapter->hw; |
1635 | struct dev_mc_list *mc_ptr; | 1637 | struct dev_mc_list *mc_ptr; |
1636 | u8 *mta_list; | 1638 | u8 *mta_list; |
1637 | u32 fctrl; | 1639 | u32 fctrl, vlnctrl; |
1638 | int i; | 1640 | int i; |
1639 | 1641 | ||
1640 | /* Check for Promiscuous and All Multicast modes */ | 1642 | /* Check for Promiscuous and All Multicast modes */ |
1641 | 1643 | ||
1642 | fctrl = IXGBE_READ_REG(hw, IXGBE_FCTRL); | 1644 | fctrl = IXGBE_READ_REG(hw, IXGBE_FCTRL); |
1645 | vlnctrl = IXGBE_READ_REG(hw, IXGBE_VLNCTRL); | ||
1643 | 1646 | ||
1644 | if (netdev->flags & IFF_PROMISC) { | 1647 | if (netdev->flags & IFF_PROMISC) { |
1645 | fctrl |= (IXGBE_FCTRL_UPE | IXGBE_FCTRL_MPE); | 1648 | fctrl |= (IXGBE_FCTRL_UPE | IXGBE_FCTRL_MPE); |
1646 | fctrl &= ~IXGBE_VLNCTRL_VFE; | 1649 | vlnctrl &= ~IXGBE_VLNCTRL_VFE; |
1647 | } else { | 1650 | } else { |
1648 | if (netdev->flags & IFF_ALLMULTI) { | 1651 | if (netdev->flags & IFF_ALLMULTI) { |
1649 | fctrl |= IXGBE_FCTRL_MPE; | 1652 | fctrl |= IXGBE_FCTRL_MPE; |
@@ -1651,10 +1654,11 @@ static void ixgbe_set_multi(struct net_device *netdev) | |||
1651 | } else { | 1654 | } else { |
1652 | fctrl &= ~(IXGBE_FCTRL_UPE | IXGBE_FCTRL_MPE); | 1655 | fctrl &= ~(IXGBE_FCTRL_UPE | IXGBE_FCTRL_MPE); |
1653 | } | 1656 | } |
1654 | fctrl |= IXGBE_VLNCTRL_VFE; | 1657 | vlnctrl |= IXGBE_VLNCTRL_VFE; |
1655 | } | 1658 | } |
1656 | 1659 | ||
1657 | IXGBE_WRITE_REG(hw, IXGBE_FCTRL, fctrl); | 1660 | IXGBE_WRITE_REG(hw, IXGBE_FCTRL, fctrl); |
1661 | IXGBE_WRITE_REG(hw, IXGBE_VLNCTRL, vlnctrl); | ||
1658 | 1662 | ||
1659 | if (netdev->mc_count) { | 1663 | if (netdev->mc_count) { |
1660 | mta_list = kcalloc(netdev->mc_count, ETH_ALEN, GFP_ATOMIC); | 1664 | mta_list = kcalloc(netdev->mc_count, ETH_ALEN, GFP_ATOMIC); |
diff --git a/drivers/net/ixgbe/ixgbe_type.h b/drivers/net/ixgbe/ixgbe_type.h index 1ad7cb9c25a8..c0282a223df3 100644 --- a/drivers/net/ixgbe/ixgbe_type.h +++ b/drivers/net/ixgbe/ixgbe_type.h | |||
@@ -39,6 +39,7 @@ | |||
39 | #define IXGBE_DEV_ID_82598AF_SINGLE_PORT 0x10C7 | 39 | #define IXGBE_DEV_ID_82598AF_SINGLE_PORT 0x10C7 |
40 | #define IXGBE_DEV_ID_82598AT_DUAL_PORT 0x10C8 | 40 | #define IXGBE_DEV_ID_82598AT_DUAL_PORT 0x10C8 |
41 | #define IXGBE_DEV_ID_82598EB_CX4 0x10DD | 41 | #define IXGBE_DEV_ID_82598EB_CX4 0x10DD |
42 | #define IXGBE_DEV_ID_82598_CX4_DUAL_PORT 0x10EC | ||
42 | 43 | ||
43 | /* General Registers */ | 44 | /* General Registers */ |
44 | #define IXGBE_CTRL 0x00000 | 45 | #define IXGBE_CTRL 0x00000 |