sfc: Rate-limit log message for PTP packets without a matching timestamp event
authorBen Hutchings <bhutchings@solarflare.com>
Fri, 6 Dec 2013 22:10:46 +0000 (22:10 +0000)
committerBen Hutchings <bhutchings@solarflare.com>
Fri, 6 Dec 2013 22:22:34 +0000 (22:22 +0000)
In case of a flood of PTP packets, the timestamp peripheral and MC
firmware on the SFN[56]322F boards may not be able to provide
timestamp events for all packets.  Don't complain too much about this.

Fixes: 7c236c43b838 ('sfc: Add support for IEEE-1588 PTP')
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
drivers/net/ethernet/sfc/ptp.c

index 8b2cf783217cacd2d035545b90acd5712f4d2bc6..8c665f1b54804db1c3c1203160a5a246d7a5858f 100644 (file)
@@ -717,8 +717,9 @@ static bool efx_ptp_process_events(struct efx_nic *efx, struct sk_buff_head *q)
                        __skb_queue_tail(q, skb);
                } else if (time_after(jiffies, match->expiry)) {
                        match->state = PTP_PACKET_STATE_TIMED_OUT;
-                       netif_warn(efx, rx_err, efx->net_dev,
-                                  "PTP packet - no timestamp seen\n");
+                       if (net_ratelimit())
+                               netif_warn(efx, rx_err, efx->net_dev,
+                                          "PTP packet - no timestamp seen\n");
                        __skb_queue_tail(q, skb);
                } else {
                        /* Replace unprocessed entry and stop */