From patchwork Mon Nov 29 02:09:53 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxim Levitsky X-Patchwork-Id: 73362 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 DDBFCB70A7 for ; Mon, 29 Nov 2010 13:10:53 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754509Ab0K2CKr (ORCPT ); Sun, 28 Nov 2010 21:10:47 -0500 Received: from mail-bw0-f46.google.com ([209.85.214.46]:48670 "EHLO mail-bw0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754112Ab0K2CKq (ORCPT ); Sun, 28 Nov 2010 21:10:46 -0500 Received: by mail-bw0-f46.google.com with SMTP id 15so3474612bwz.19 for ; Sun, 28 Nov 2010 18:10:45 -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=4BpZOe4c3COr8untimovKqWiXda66JNFkKdGwsklSeY=; b=qMyBs/YjtRaqr3znT6OAg1n85sc+zcc9N4n76c94gNH/xMn7w69aN++Y5twIU3O00F tHLoZWCLdhC9mBPMLKEOWqS9/A0lK7RTusLsCEWN8KAIPWLkoHaDE8+AS0X7IdTqS8eH 5UzyktwEo0CWSXr+MyWRj8syy+jCVivAOsetg= 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=d67rdNyqQTjYQpYmsmr1804g4/KTqDuzHjeTOQVoqyPdirRK93/9iHY5btdEHfWKm6 CsHJRk6OGekwHoDJKExmF+kJvmEMSdx+jqgGSEUABBa9YDxwJG1CUQOmkWhOhO+Zy9ph vNo8QW4tqeTy3rOByqWYuLiPFyqKK0+h/A+gw= Received: by 10.204.72.80 with SMTP id l16mr4254818bkj.133.1290996645174; Sun, 28 Nov 2010 18:10:45 -0800 (PST) Received: from maxim-laptop ([77.125.106.104]) by mx.google.com with ESMTPS id p22sm1742200bkp.9.2010.11.28.18.10.43 (version=SSLv3 cipher=RC4-MD5); Sun, 28 Nov 2010 18:10:44 -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: Mon, 29 Nov 2010 04:09:53 +0200 Message-Id: <1290996593-32416-6-git-send-email-maximlevitsky@gmail.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1290996593-32416-1-git-send-email-maximlevitsky@gmail.com> References: <1290996593-32416-1-git-send-email-maximlevitsky@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Unfortunelly its easy to trigger such error messages by removing the cable while sending streams of data over the link. Such errors are normal, and therefore this patch stops firewire-net from flooding the kernel log with these 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++; } }