Hi Dave,
By default, LMP sets up a 3 seconds timer for discovery.
We don't need it until discovery is set to 1.
This patch is against your latest net-2.6.25 tree.
From: Ross Burton <ross@openedhand.com>
Signed-off-by: Ross Burton <ross@openedhand.com>
Signed-off-by: Samuel Ortiz <samuel@sortiz.org>
---
net/irda/irlmp.c | 7 +++++--
net/irda/irlmp_event.c | 4 +---
net/irda/irsysctl.c | 28 +++++++++++++++++++++++++++-
3 files changed, 33 insertions(+), 6 deletions(-)
Index: net-2.6.25/net/irda/irlmp.c
===================================================================
--- net-2.6.25.orig/net/irda/irlmp.c 2008-01-14 19:27:06.000000000 +0100
+++ net-2.6.25/net/irda/irlmp.c 2008-01-23 00:57:12.000000000 +0100
@@ -103,9 +103,12 @@
irlmp->last_lsap_sel = 0x0f; /* Reserved 0x00-0x0f */
strcpy(sysctl_devname, "Linux");
- /* Do discovery every 3 seconds */
init_timer(&irlmp->discovery_timer);
- irlmp_start_discovery_timer(irlmp, sysctl_discovery_timeout*HZ);
+
+ /* Do discovery every 3 seconds, conditionaly */
+ if (sysctl_discovery)
+ irlmp_start_discovery_timer(irlmp,
+ sysctl_discovery_timeout*HZ);
return 0;
}
Index: net-2.6.25/net/irda/irlmp_event.c
===================================================================
--- net-2.6.25.orig/net/irda/irlmp_event.c 2008-01-14 19:27:06.000000000 +0100
+++ net-2.6.25/net/irda/irlmp_event.c 2008-01-23 00:57:38.000000000 +0100
@@ -174,9 +174,7 @@
/* We always cleanup the log (active & passive discovery) */
irlmp_do_expiry();
- /* Active discovery is conditional */
- if (sysctl_discovery)
- irlmp_do_discovery(sysctl_discovery_slots);
+ irlmp_do_discovery(sysctl_discovery_slots);
/* Restart timer */
irlmp_start_discovery_timer(irlmp, sysctl_discovery_timeout * HZ);
Index: net-2.6.25/net/irda/irsysctl.c
===================================================================
--- net-2.6.25.orig/net/irda/irsysctl.c 2008-01-14 19:27:06.000000000 +01...