mlx4_en: Only cycle port if HW timestamp config changes
authorShawn Bohrer <sbohrer@rgmadvisors.com>
Tue, 31 Dec 2013 17:39:40 +0000 (11:39 -0600)
committerDavid S. Miller <davem@davemloft.net>
Thu, 2 Jan 2014 08:30:36 +0000 (03:30 -0500)
If the hwtstamp_config matches what is currently set for the device then
simply return.  Without this change any program that tries to enable
hardware timestamps will cause the link to cycle even if hardware
timstamps were already enabled.

Signed-off-by: Shawn Bohrer <sbohrer@rgmadvisors.com>
Acked-By: Hadar Hen Zion <hadarh@mellanox.com>
Acked-by: Richard Cochran <richardcochran@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/en_clock.c

index 30712b36f43c8ed15765a4d9518b88e6f3342854..abaf6bb22416232fc055f3ef8b6c414be701734d 100644 (file)
@@ -42,6 +42,10 @@ int mlx4_en_timestamp_config(struct net_device *dev, int tx_type, int rx_filter)
        int port_up = 0;
        int err = 0;
 
+       if (priv->hwtstamp_config.tx_type == tx_type &&
+           priv->hwtstamp_config.rx_filter == rx_filter)
+               return 0;
+
        mutex_lock(&mdev->state_lock);
        if (priv->port_up) {
                port_up = 1;