From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
To: davem@davemloft.net
Cc: Catherine Sullivan <catherine.sullivan@intel.com>,
netdev@vger.kernel.org, nhorman@redhat.com, sassmann@redhat.com,
Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Subject: [net-next 05/15] i40e: Tell OS link is going down when calling set_phy_config
Date: Fri, 29 Aug 2014 02:30:10 -0700 [thread overview]
Message-ID: <1409304620-23251-6-git-send-email-jeffrey.t.kirsher@intel.com> (raw)
In-Reply-To: <1409304620-23251-1-git-send-email-jeffrey.t.kirsher@intel.com>
From: Catherine Sullivan <catherine.sullivan@intel.com>
Since we don't seem to be getting an LSE telling us link is going down
during set_phy_config (but we do get an LSE telling us we are coming
back up), fake one for the OS and tell them link is going down. Also
do an atomic restart no matter what because there are times the user
may want to end with link up even if they started with link down (like
if they accidentally set it to a speed that can't link and are trying to
fix it).
Change-ID: I0a642af9c1d0feb67bce741aba1a9c33bd349ed6
Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com>
Tested-by: Jim Young <jamesx.m.young@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 21 ++++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
index de4ce0e..101be2f 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
@@ -559,9 +559,17 @@ static int i40e_set_settings(struct net_device *netdev,
config.eeer = abilities.eeer_val;
config.low_power_ctrl = abilities.d3_lpan;
- /* If link is up set link and an so changes take effect */
- if (hw->phy.link_info.link_info & I40E_AQ_LINK_UP)
- config.abilities |= I40E_AQ_PHY_ENABLE_ATOMIC_LINK;
+ /* set link and an so changes take effect */
+ config.abilities |= I40E_AQ_PHY_ENABLE_ATOMIC_LINK;
+ /* If link is up put link down */
+ if (hw->phy.link_info.link_info & I40E_AQ_LINK_UP) {
+ /* Tell the OS link is going down, the link will go
+ * back up when fw says it is ready asynchronously
+ */
+ netdev_info(netdev, "PHY settings change requested, NIC Link is going down.\n");
+ netif_carrier_off(netdev);
+ netif_tx_stop_all_queues(netdev);
+ }
/* make the aq call */
status = i40e_aq_set_phy_config(hw, &config, NULL);
@@ -678,6 +686,13 @@ static int i40e_set_pauseparam(struct net_device *netdev,
else
return -EINVAL;
+ /* Tell the OS link is going down, the link will go back up when fw
+ * says it is ready asynchronously
+ */
+ netdev_info(netdev, "Flow control settings change requested, NIC Link is going down.\n");
+ netif_carrier_off(netdev);
+ netif_tx_stop_all_queues(netdev);
+
/* Set the fc mode and only restart an if link is up*/
status = i40e_set_fc(hw, &aq_failures, link_up);
--
1.9.3
next prev parent reply other threads:[~2014-08-29 9:30 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-29 9:30 [net-next 00/15][pull request] Intel Wired LAN Driver Updates 2014-08-29 Jeff Kirsher
2014-08-29 9:30 ` [net-next 01/15] i40e: Add dual speed module support Jeff Kirsher
2014-08-29 9:30 ` [net-next 02/15] i40e: Allow user to change link settings if link is down Jeff Kirsher
2014-08-29 9:30 ` [net-next 03/15] i40e: Change wording to be more consistent Jeff Kirsher
2014-08-29 9:30 ` [net-next 04/15] i40e: Remove unnecessary assignment Jeff Kirsher
2014-08-29 9:30 ` Jeff Kirsher [this message]
2014-08-29 17:37 ` [net-next 05/15] i40e: Tell OS link is going down when calling set_phy_config Sergei Shtylyov
2014-09-03 17:27 ` Greg Rose
2014-08-29 9:30 ` [net-next 06/15] i40e: make warning less verbose Jeff Kirsher
2014-08-29 9:30 ` [net-next 07/15] i40e: Fix an issue when PF reset fails Jeff Kirsher
2014-08-29 9:30 ` [net-next 08/15] i40e: fix panic due to too-early Tx queue enable Jeff Kirsher
2014-08-29 17:08 ` Sergei Shtylyov
2014-08-29 9:30 ` [net-next 09/15] i40e/i40evf: Bump i40e/i40evf versions Jeff Kirsher
2014-08-29 9:30 ` [net-next 10/15] i40e: use global pci_vfs_assigned() to replace local i40e_vfs_are_assigned() Jeff Kirsher
2014-08-29 9:30 ` [net-next 11/15] ixgbe: Cleanup FDB handling code Jeff Kirsher
2014-08-29 9:30 ` [net-next 12/15] ixgbe: reset interface on link loss with pending Tx work from the VF Jeff Kirsher
2014-08-29 9:30 ` [net-next 13/15] ixgbevf: introduce delay for checking VFLINKS on 82599 Jeff Kirsher
2014-08-29 9:30 ` [net-next 14/15] ixgbe: add comment noting recalculation of queues Jeff Kirsher
2014-08-29 9:30 ` [net-next 15/15] ixgbe: limit combined total of macvlan and SR-IOV VFs Jeff Kirsher
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1409304620-23251-6-git-send-email-jeffrey.t.kirsher@intel.com \
--to=jeffrey.t.kirsher@intel.com \
--cc=catherine.sullivan@intel.com \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
--cc=nhorman@redhat.com \
--cc=sassmann@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).