summaryrefslogtreecommitdiffstats
path: root/drivers/ieee1394/nodemgr.c
diff options
context:
space:
mode:
authorJody McIntyre2005-09-30 20:59:09 +0200
committerLinus Torvalds2005-09-30 21:41:19 +0200
commite31a127c2f99b9cb9abc99a1ec22b75194890800 (patch)
tree66c3568b7448dc6320f308d6af04f666ad3a1e5f /drivers/ieee1394/nodemgr.c
parent[PATCH] ieee1394: reorder activities after bus reset (fixes device detection) (diff)
downloadkernel-qcow2-linux-e31a127c2f99b9cb9abc99a1ec22b75194890800.tar.gz
kernel-qcow2-linux-e31a127c2f99b9cb9abc99a1ec22b75194890800.tar.xz
kernel-qcow2-linux-e31a127c2f99b9cb9abc99a1ec22b75194890800.zip
[PATCH] ieee1394: skip unnecessary pause when scanning config ROMs
Skip a superfluous pause that occured when the config ROM of a node was scanned unsuccessfully. This also occurs if a node without link wrongly enables its "link active" self ID flag. A GWCTech 6-port hub does this. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: Jody McIntyre <scjody@steamballoon.com> Cc: Ben Collins <bcollins@debian.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/ieee1394/nodemgr.c')
-rw-r--r--drivers/ieee1394/nodemgr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/ieee1394/nodemgr.c b/drivers/ieee1394/nodemgr.c
index 743f13c81adb..347ece6b583c 100644
--- a/drivers/ieee1394/nodemgr.c
+++ b/drivers/ieee1394/nodemgr.c
@@ -64,10 +64,10 @@ static int nodemgr_bus_read(struct csr1212_csr *csr, u64 addr, u16 length,
struct nodemgr_csr_info *ci = (struct nodemgr_csr_info*)__ci;
int i, ret = 0;
- for (i = 0; i < 3; i++) {
+ for (i = 1; ; i++) {
ret = hpsb_read(ci->host, ci->nodeid, ci->generation, addr,
buffer, length);
- if (!ret)
+ if (!ret || i == 3)
break;
if (msleep_interruptible(334))