e1000: fix power down of fiber serdes link
authorShelton Chia <jiaxt@sinogrid.com>
Sat, 7 Mar 2015 03:57:38 +0000 (11:57 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Mon, 30 Mar 2015 20:30:26 +0000 (22:30 +0200)
When stopping interface, only shutdown method for copper cable was called.

Signed-off-by: Shelton Chia <jiaxt@sinogrid.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
lib/librte_pmd_e1000/igb_ethdev.c

index 79ad267..b3892a5 100644 (file)
@@ -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);