From patchwork Sun Nov 28 01:15:36 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxim Levitsky X-Patchwork-Id: 73316 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 7BF23B70B0 for ; Sun, 28 Nov 2010 12:16:04 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753791Ab0K1BQA (ORCPT ); Sat, 27 Nov 2010 20:16:00 -0500 Received: from mail-bw0-f46.google.com ([209.85.214.46]:55574 "EHLO mail-bw0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753517Ab0K1BPz (ORCPT ); Sat, 27 Nov 2010 20:15:55 -0500 Received: by mail-bw0-f46.google.com with SMTP id 15so2883308bwz.19 for ; Sat, 27 Nov 2010 17:15:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:subject:date :message-id:x-mailer:in-reply-to:references; bh=BvbHf2HnhtdILMxzSTEp/ZwyYWEpINe7ic0JiXd08+E=; b=MmGr33vqd9HUcA3k59ffImISXAqs/bcKAitw8CLABNPS9wO8pF2yCWPnE4CSL1pJ0X CjFYvdAawhNMnjUlEBGSsGJdI9zWsAPUk0L3BsrA3AYwvGb+1mr/gUFue8hSffCJ92i6 ozxJuEmvlgd2dSz4V+E140ZwrNpyMimJJM278= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; b=MX5EMl1tveqFkpFGJV/Xdj8oz3jYgiC3J4QHU4trVTcHV5IbJxvvHAaB06jN3jM4eM eWW7ymisNbGcgSjpdwFI+PQFud6ndw3ev+VMfJA6nKkZkQaBjbzk6t20OgQ0HQTBJ5Op OOiat7Avnrt22jAXMnDlJi6Jeh3SmzAvXmb0E= Received: by 10.204.66.83 with SMTP id m19mr1648315bki.44.1290906954528; Sat, 27 Nov 2010 17:15:54 -0800 (PST) Received: from maxim-laptop ([77.125.106.90]) by mx.google.com with ESMTPS id g8sm1231117bkg.23.2010.11.27.17.15.52 (version=SSLv3 cipher=RC4-MD5); Sat, 27 Nov 2010 17:15:53 -0800 (PST) From: Maxim Levitsky To: linux1394-devel Cc: Stefan Richter , netdev@vger.kernel.org, Maxim Levitsky Subject: [PATCH 5/5] firewire: net: ratelimit error messages Date: Sun, 28 Nov 2010 03:15:36 +0200 Message-Id: <1290906936-14472-6-git-send-email-maximlevitsky@gmail.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1290906936-14472-1-git-send-email-maximlevitsky@gmail.com> References: <1290906936-14472-1-git-send-email-maximlevitsky@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This patch ensures that firewire-net won't be able to flood the logs with errors by combining series of same errors together. Signed-off-by: Maxim Levitsky --- drivers/firewire/net.c | 16 ++++++++++++---- 1 files changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/firewire/net.c b/drivers/firewire/net.c index d422519..ac563d6 100644 --- a/drivers/firewire/net.c +++ b/drivers/firewire/net.c @@ -999,15 +999,23 @@ static void fwnet_transmit_packet_failed(struct fwnet_packet_task *ptask) static void fwnet_write_complete(struct fw_card *card, int rcode, void *payload, size_t length, void *data) { - struct fwnet_packet_task *ptask; - - ptask = data; + struct fwnet_packet_task *ptask = data; + static unsigned long j; + static int last_rcode, errors_skipped; if (rcode == RCODE_COMPLETE) { fwnet_transmit_packet_done(ptask); } else { - fw_error("fwnet_write_complete: failed: %x\n", rcode); fwnet_transmit_packet_failed(ptask); + + if (printk_timed_ratelimit(&j, 1000) || rcode != last_rcode) { + fw_error("fwnet_write_complete: " + "failed: %x (skipped %d)\n", rcode, errors_skipped); + + errors_skipped = 0; + last_rcode = rcode; + } else + errors_skipped++; } }