patch-2.4.20 linux-2.4.20/drivers/ieee1394/nodemgr.c
Next file: linux-2.4.20/drivers/ieee1394/ohci1394.c
Previous file: linux-2.4.20/drivers/ieee1394/ieee1394_core.h
Back to the patch index
Back to the overall index
- Lines: 86
- Date:
Thu Nov 28 15:53:13 2002
- Orig file:
linux-2.4.19/drivers/ieee1394/nodemgr.c
- Orig date:
Fri Aug 2 17:39:44 2002
diff -urN linux-2.4.19/drivers/ieee1394/nodemgr.c linux-2.4.20/drivers/ieee1394/nodemgr.c
@@ -133,16 +133,24 @@
/* Now the unit directories */
list_for_each (l, &ne->unit_directories) {
struct unit_directory *ud = list_entry (l, struct unit_directory, node_list);
+ int printed = 0; // small hack
+
PUTF(" Unit Directory %d:\n", ud_count++);
- if (ud->flags & UNIT_DIRECTORY_VENDOR_ID)
+ if (ud->flags & UNIT_DIRECTORY_VENDOR_ID) {
PUTF(" Vendor/Model ID: %s [%06x]",
ud->vendor_name ?: "Unknown", ud->vendor_id);
- else if (ud->flags & UNIT_DIRECTORY_MODEL_ID) /* Have to put something */
- PUTF(" Vendor/Model ID: %s [%06x]",
- ne->vendor_name ?: "Unknown", ne->vendor_id);
- if (ud->flags & UNIT_DIRECTORY_MODEL_ID)
+ printed = 1;
+ }
+ if (ud->flags & UNIT_DIRECTORY_MODEL_ID) {
+ if (!printed)
+ PUTF(" Vendor/Model ID: %s [%06x]",
+ ne->vendor_name ?: "Unknown", ne->vendor_id);
PUTF(" / %s [%06x]", ud->model_name ?: "Unknown", ud->model_id);
- PUTF("\n");
+ printed = 1;
+ }
+ if (printed)
+ PUTF("\n");
+
if (ud->flags & UNIT_DIRECTORY_SPECIFIER_ID)
PUTF(" Software Specifier ID: %06x\n", ud->specifier_id);
if (ud->flags & UNIT_DIRECTORY_VERSION)
@@ -187,6 +195,10 @@
ret = hpsb_read(host, nodeid, generation, address, quad, 4);
if (!ret)
break;
+
+ set_current_state(TASK_INTERRUPTIBLE);
+ if (schedule_timeout (HZ/3))
+ return -1;
}
*quad = be32_to_cpu(*quad);
@@ -199,8 +211,10 @@
{
quadlet_t quad;
int size = 0;
+
if (nodemgr_read_quadlet(host, nodeid, generation, address, &quad))
return -1;
+
if (CONFIG_ROM_KEY(quad) == CONFIG_ROM_DESCRIPTOR_LEAF) {
/* This is the offset. */
address += 4 * CONFIG_ROM_VALUE(quad);
@@ -209,6 +223,7 @@
/* Now we got the size of the text descriptor leaf. */
size = CONFIG_ROM_LEAF_LENGTH(quad);
}
+
return size;
}
@@ -220,7 +235,7 @@
int i, size, ret;
if (nodemgr_read_quadlet(ne->host, ne->nodeid, ne->generation, address, &quad)
- && CONFIG_ROM_KEY(quad) != CONFIG_ROM_DESCRIPTOR_LEAF)
+ || CONFIG_ROM_KEY(quad) != CONFIG_ROM_DESCRIPTOR_LEAF)
return -1;
/* This is the offset. */
@@ -1299,12 +1314,12 @@
}
}
- if (hi != NULL)
+ if (hi != NULL) {
#ifdef CONFIG_IEEE1394_VERBOSEDEBUG
- HPSB_DEBUG ("NodeMgr: Processing host reset for %s", host->driver->name);
+ HPSB_DEBUG ("NodeMgr: Processing host reset for %s", host->driver->name);
#endif
up(&hi->reset_sem);
- else
+ } else
HPSB_ERR ("NodeMgr: could not process reset of non-existent host");
spin_unlock_irqrestore (&host_info_lock, flags);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)