]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
i40e: Driver prints log message on link speed change
authorFilip Sadowski <filip.sadowski@intel.com>
Tue, 8 Nov 2016 21:05:13 +0000 (13:05 -0800)
committerDhaval Giani <dhaval.giani@oracle.com>
Wed, 8 Mar 2017 00:41:29 +0000 (19:41 -0500)
Orabug: 24568124

This patch makes the driver log link speed change. Before applying the
patch link messages were printed only on state change. Now message is
printed when link is brought up or down and when speed changes.

Change-ID: Ifbee14b4b16c24967450b3cecac6e8351dcc8f74
Signed-off-by: Filip Sadowski <filip.sadowski@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
(cherry picked from commit 7ec9ba11b046b4b7fd768c366870ada60d409295)
Signed-off-by: Brian Maly <brian.maly@oracle.com>
Signed-off-by: Dhaval Giani <dhaval.giani@oracle.com>
drivers/net/ethernet/intel/i40e/i40e.h
drivers/net/ethernet/intel/i40e/i40e_main.c

index b02c944ac50740d469a67e41c166441844ae11f2..4933c7b54ad95a78cce687cb1ac831299bc7f75a 100644 (file)
@@ -595,6 +595,7 @@ struct i40e_vsi {
        u16 veb_idx;            /* index of VEB parent */
        struct kobject *kobj;   /* sysfs object */
        bool current_isup;      /* Sync 'link up' logging */
+       enum i40e_aq_link_speed current_speed;  /* Sync link speed logging */
 
        void *priv;     /* client driver data reference. */
 
index ae2954b030f96f2ef297c3af4a146094a82d0669..bb0b06bdd73727d302f956f934f6847b4002e359 100644 (file)
@@ -5159,12 +5159,16 @@ out:
  */
 void i40e_print_link_message(struct i40e_vsi *vsi, bool isup)
 {
+       enum i40e_aq_link_speed new_speed;
        char *speed = "Unknown";
        char *fc = "Unknown";
 
-       if (vsi->current_isup == isup)
+       new_speed = vsi->back->hw.phy.link_info.link_speed;
+
+       if ((vsi->current_isup == isup) && (vsi->current_speed == new_speed))
                return;
        vsi->current_isup = isup;
+       vsi->current_speed = new_speed;
        if (!isup) {
                netdev_info(vsi->netdev, "NIC Link is Down\n");
                return;