OSDN Git Service

liquidio: remove PTP support in 23XX adapters
authorPrasad Kanneganti <prasad.kanneganti@cavium.com>
Tue, 3 Jan 2017 19:27:33 +0000 (11:27 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 4 Jan 2017 18:28:27 +0000 (13:28 -0500)
liquidio driver incorrectly indicates that PTP is supported in 23XX
adapters; this patch fixes that.  PTP is supported in 66XX and 68XX
adapters, and the driver correctly indicates that.

Signed-off-by: Prasad Kanneganti <prasad.kanneganti@cavium.com>
Signed-off-by: Felix Manlunas <felix.manlunas@cavium.com>
Signed-off-by: Derek Chickles <derek.chickles@cavium.com>
Signed-off-by: Satanand Burla <satananda.burla@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/cavium/liquidio/lio_main.c

index 39a9665..6443bc1 100644 (file)
@@ -2629,7 +2629,9 @@ static int liquidio_open(struct net_device *netdev)
                        oct->droq[0]->ops.poll_mode = 1;
        }
 
-       oct_ptp_open(netdev);
+       if ((oct->chip_id == OCTEON_CN66XX || oct->chip_id == OCTEON_CN68XX) &&
+           ptp_enable)
+               oct_ptp_open(netdev);
 
        ifstate_set(lio, LIO_IFSTATE_RUNNING);
 
@@ -2973,9 +2975,13 @@ static int hwtstamp_ioctl(struct net_device *netdev, struct ifreq *ifr)
  */
 static int liquidio_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd)
 {
+       struct lio *lio = GET_LIO(netdev);
+
        switch (cmd) {
        case SIOCSHWTSTAMP:
-               return hwtstamp_ioctl(netdev, ifr);
+               if ((lio->oct_dev->chip_id == OCTEON_CN66XX ||
+                    lio->oct_dev->chip_id == OCTEON_CN68XX) && ptp_enable)
+                       return hwtstamp_ioctl(netdev, ifr);
        default:
                return -EOPNOTSUPP;
        }