igb: specify phc_index of 82575 for get_ts_info
authorKen ICHIKAWA <ichikawa.ken@jp.fujitsu.com>
Fri, 21 Mar 2014 10:37:24 +0000 (03:37 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Fri, 21 Mar 2014 10:37:24 +0000 (03:37 -0700)
82575 has only software timestamping capability and it has
no PTP Hardware Clocks. Therefore, -1 has to be specified
to the phc_index for ethtool's get_ts_info, otherwise a wrong
value will be set to the phc_index.

v2: move the if (adapter->ptp_clock) section specifying phc_index
    to above the switch statement as suggested by Matthew Vick.
    adapter->ptpclock will always be NULL for 82575.

Signed-off-by: Ken ICHIKAWA <ichikawa.ken@jp.fujitsu.com>
Acked-by: Matthew Vick <matthew.vick@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/igb/igb_ethtool.c

index d5c3e6572f2f70009ada16a0428d8bbae7f68575..e5570acbeea84509855a98383ab128876e7447c9 100644 (file)
@@ -2353,6 +2353,11 @@ static int igb_get_ts_info(struct net_device *dev,
 {
        struct igb_adapter *adapter = netdev_priv(dev);
 
+       if (adapter->ptp_clock)
+               info->phc_index = ptp_clock_index(adapter->ptp_clock);
+       else
+               info->phc_index = -1;
+
        switch (adapter->hw.mac.type) {
        case e1000_82575:
                info->so_timestamping =
@@ -2374,11 +2379,6 @@ static int igb_get_ts_info(struct net_device *dev,
                        SOF_TIMESTAMPING_RX_HARDWARE |
                        SOF_TIMESTAMPING_RAW_HARDWARE;
 
-               if (adapter->ptp_clock)
-                       info->phc_index = ptp_clock_index(adapter->ptp_clock);
-               else
-                       info->phc_index = -1;
-
                info->tx_types =
                        (1 << HWTSTAMP_TX_OFF) |
                        (1 << HWTSTAMP_TX_ON);