There have been some problems with some PCILynx cards which I also
experienced myself, namely that the chip sent out a packet as it
should but then reported timeout on waiting for an ack (thus causing
the subsystem to assume the transaction has failed and therefore
reporting an unsolicited response later on).
It turns out that for some reason the PHY chip (so it might not even
be related to the Lynx) starts with 0 as its gap count. This is way
too small and causes timeouts. I now added a line to pcilynx.c to
explicitly set that to a safe value, which fixed the problem for me.
Get it from CVS or just apply this patch:
RCS file: /cvsroot/linux1394/ieee1394/pcilynx.c,v
retrieving revision 1.20
diff -u -r1.20 pcilynx.c
--- pcilynx.c 2000/04/15 02:48:02 1.20
+++ pcilynx.c 2000/04/25 03:08:55
@@ -338,6 +338,7 @@
i--;
}
+ set_phy_reg(lynx, 1, 63);
if (!lynx->phyic.reg_1394a) {
lsid = generate_own_selfid(lynx, host);
}
--
Andreas E. Bombe <and...@mu...> DSA key 0x04880A44
http://home.pages.de/~andreas.bombe/ http://linux1394.sourceforge.net/
|