X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_pmd_e1000%2Figb_ethdev.c;h=4415155c02ea02208282b7e40dd975f03c8e76c9;hb=48262b5a8b91ae41be13b9ed3c7a952d4becabfa;hp=49843c1b3b1c62e4897eeb93a7f8f3a010dba5c8;hpb=ff708facfcbf42f3dcb3c62d82ecd93e7b8c2506;p=dpdk.git diff --git a/lib/librte_pmd_e1000/igb_ethdev.c b/lib/librte_pmd_e1000/igb_ethdev.c index 49843c1b3b..4415155c02 100644 --- a/lib/librte_pmd_e1000/igb_ethdev.c +++ b/lib/librte_pmd_e1000/igb_ethdev.c @@ -216,26 +216,26 @@ static enum e1000_fc_mode igb_fc_setting = e1000_fc_full; /* * The set of PCI devices this driver supports */ -static struct rte_pci_id pci_id_igb_map[] = { +static const struct rte_pci_id pci_id_igb_map[] = { #define RTE_PCI_DEV_ID_DECL_IGB(vend, dev) {RTE_PCI_DEVICE(vend, dev)}, #include "rte_pci_dev_ids.h" -{.device_id = 0}, +{0}, }; /* * The set of PCI devices this driver supports (for 82576&I350 VF) */ -static struct rte_pci_id pci_id_igbvf_map[] = { +static const struct rte_pci_id pci_id_igbvf_map[] = { #define RTE_PCI_DEV_ID_DECL_IGBVF(vend, dev) {RTE_PCI_DEVICE(vend, dev)}, #include "rte_pci_dev_ids.h" -{.device_id = 0}, +{0}, }; -static struct eth_dev_ops eth_igb_ops = { +static const struct eth_dev_ops eth_igb_ops = { .dev_configure = eth_igb_configure, .dev_start = eth_igb_start, .dev_stop = eth_igb_stop, @@ -275,7 +275,7 @@ static struct eth_dev_ops eth_igb_ops = { * dev_ops for virtual function, bare necessities for basic vf * operation have been implemented */ -static struct eth_dev_ops igbvf_eth_dev_ops = { +static const struct eth_dev_ops igbvf_eth_dev_ops = { .dev_configure = igbvf_dev_configure, .dev_start = igbvf_dev_start, .dev_stop = igbvf_dev_stop, @@ -945,7 +945,10 @@ eth_igb_stop(struct rte_eth_dev *dev) } /* Power down the phy. Needed to make the link go Down */ - e1000_power_down_phy(hw); + if (hw->phy.media_type == e1000_media_type_copper) + e1000_power_down_phy(hw); + else + e1000_shutdown_fiber_serdes_link(hw); igb_dev_clear_queues(dev); @@ -2908,7 +2911,7 @@ eth_igb_flex_filter_handle(struct rte_eth_dev *dev, struct rte_eth_flex_filter *filter; int ret = 0; - MAC_TYPE_FILTER_SUP(hw->mac.type); + MAC_TYPE_FILTER_SUP_EXT(hw->mac.type); if (filter_op == RTE_ETH_FILTER_NOP) return ret;