On 27 Oct, Stefan Richter wrote:
> Should the added MODULE_PARM go into nodemgr.c?
I shifted it from ieee1394_core.c to nodemgr.c after
spotting
another MODULE_PARM in csr.c.
--
Stefan Richter
-=====-=--=- =-=- ==-==
http://arcgraph.de/sr/
--- ./nodemgr.c
+++ ./.svn/tmp/nodemgr.c.62348.00001.tmp Sun Oct 27
02:51:20 2002
@@ -20,6 +20,7 @@
#ifdef CONFIG_PROC_FS
#include <linux/proc_fs.h>
#endif
+#include <linux/module.h>
#include <asm/atomic.h>
#include <asm/byteorder.h>
@@ -32,6 +33,14 @@
#include "csr.h"
#include "nodemgr.h"
+/*
+ * Probe nodes by nodemgr even if their link layers
are not active.
+ * Some SBP-2 devices seem to erroneously report an
inactive link layer.
+ */
+MODULE_PARM(ignore_inactive_link, "i");
+MODULE_PARM_DESC(ignore_inactive_link, "Probe nodes
with inactive link layers (default =
0).");
+static int ignore_inactive_link = 0;
+
#ifdef CONFIG_IEEE1394_OUI_DB
struct oui_list_struct {
int oui;
@@ -1192,8 +1201,14 @@
continue;
if (!sid->link_active) {
- nodeid++;
- continue;
+#ifdef CONFIG_IEEE1394_VERBOSEDEBUG
+ HPSB_DEBUG("link inactive at node " NODE_BUS_FMT ,
+ NODE_BUS_ARGS(nodeid));
+#endif
+ if (!ignore_inactive_link) {
+ nodeid++;
+ continue;
+ }
}
nodemgr_node_probe_one(host, nodeid++, generation);
Logged In: YES
user_id=635553
This patch solves a problem where attached 1394 devices are
not recognized. If /proc/bus/ieee1394/devices shows a node
count like this...
Nodes connected : 2
Nodes active : 1 <- This should be 2.
SelfIDs received: 2
...it means there is a node that claimed to have an
"inactive" link. It is not clear if this is due to an actual
bus power management problem, or if the device's assertion
is just wrong.
In the latter case, the solution is to apply the patch and
load the ieee1394 driver with a parameter: "modprobe
ieee1394 ignore_inactive_link=1".
This solution was found by Jozef Hatala:
http://sourceforge.net/mailarchive/forum.php?thread_id=960050&forum_id=5387