<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">From duncan.sands@math.u-psud.fr Thu May 26 05:42:38 2005
Subject: USB ATM: reduce log spamming
From: Duncan Sands &lt;duncan.sands@math.u-psud.fr&gt;
To: Greg KH &lt;greg@kroah.com&gt;
Cc: usbatm@lists.infradead.org
Date: Thu, 26 May 2005 14:32:51 +0200
Message-Id: &lt;1117110771.9714.38.camel@localhost.localdomain&gt;

Reduce the number of "unknown vpi/vci" debug messages to (usually) at most
one per-urb, rather than one per-cell.  This is only an issue when (a) many
packets come in but no connection is open; and (b) CONFIG_USB_DEBUG is set.

Signed-off-by: Duncan Sands &lt;baldrick@free.fr&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

---
 drivers/usb/atm/usbatm.c |   21 +++++++++++----------
 1 files changed, 11 insertions(+), 10 deletions(-)

--- gregkh-2.6.orig/drivers/usb/atm/usbatm.c	2005-05-27 20:53:07.000000000 -0700
+++ gregkh-2.6/drivers/usb/atm/usbatm.c	2005-05-27 21:00:43.000000000 -0700
@@ -298,7 +298,6 @@
 	struct usbatm_vcc_data *cached_vcc = NULL;
 	struct atm_vcc *vcc;
 	struct sk_buff *sarb;
-	struct usbatm_vcc_data *vcc_data;
 	unsigned int stride = instance-&gt;rx_channel.stride;
 	int vci, cached_vci = 0;
 	short vpi, cached_vpi = 0;
@@ -311,18 +310,20 @@
 
 		vdbg("%s: vpi %hd, vci %d, pti %d", __func__, vpi, vci, pti);
 
-		if (cached_vcc &amp;&amp; (vci == cached_vci) &amp;&amp; (vpi == cached_vpi))
-			vcc_data = cached_vcc;
-		else if ((vcc_data = usbatm_find_vcc(instance, vpi, vci))) {
-			cached_vcc = vcc_data;
+		if ((vci != cached_vci) || (vpi != cached_vpi)) {
 			cached_vpi = vpi;
 			cached_vci = vci;
-		} else {
-			atm_dbg(instance, "%s: unknown vpi/vci (%hd/%d)!\n", __func__, vpi, vci);
-			continue;
+
+			cached_vcc = usbatm_find_vcc(instance, vpi, vci);
+
+			if (!cached_vcc)
+				atm_dbg(instance, "%s: unknown vpi/vci (%hd/%d)!\n", __func__, vpi, vci);
 		}
 
-		vcc = vcc_data-&gt;vcc;
+		if (!cached_vcc)
+			continue;
+
+		vcc = cached_vcc-&gt;vcc;
 
 		/* OAM F5 end-to-end */
 		if (pti == ATM_PTI_E2EF5) {
@@ -331,7 +332,7 @@
 			continue;
 		}
 
-		sarb = vcc_data-&gt;sarb;
+		sarb = cached_vcc-&gt;sarb;
 
 		if (sarb-&gt;tail + ATM_CELL_PAYLOAD &gt; sarb-&gt;end) {
 			atm_dbg(instance, "%s: buffer overrun (sarb-&gt;len %u, vcc: 0x%p)!\n",
</pre></body></html>