diff options
Diffstat (limited to 'drivers/net/ethernet/intel/i40e/i40e_main.c')
| -rw-r--r-- | drivers/net/ethernet/intel/i40e/i40e_main.c | 10 | 
1 files changed, 9 insertions, 1 deletions
| diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c index d3416a4a8f5a..bb876e310908 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_main.c +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c @@ -1,7 +1,7 @@  /*******************************************************************************   *   * Intel Ethernet Controller XL710 Family Linux Driver - * Copyright(c) 2013 - 2014 Intel Corporation. + * Copyright(c) 2013 - 2015 Intel Corporation.   *   * This program is free software; you can redistribute it and/or modify it   * under the terms and conditions of the GNU General Public License, @@ -9099,6 +9099,7 @@ static void i40e_print_features(struct i40e_pf *pf)   **/  static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)  { +	struct i40e_aq_get_phy_abilities_resp abilities;  	struct i40e_pf *pf;  	struct i40e_hw *hw;  	static u16 pfs_found; @@ -9454,6 +9455,13 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)  		dev_warn(&pdev->dev, "Please move the device to a different PCI-e link with more lanes and/or higher transfer rate.\n");  	} +	/* get the requested speeds from the fw */ +	err = i40e_aq_get_phy_capabilities(hw, false, false, &abilities, NULL); +	if (err) +		dev_info(&pf->pdev->dev, "get phy abilities failed, aq_err %d, advertised speed settings may not be correct\n", +			 err); +	pf->hw.phy.link_info.requested_speeds = abilities.link_speed; +  	/* print a string summarizing features */  	i40e_print_features(pf); |