Thread: lock transaction does not work
Brought to you by:
aeb,
bencollins
From: Manfred W. <e95...@st...> - 2000-04-18 21:07:15
|
Today I tried the bugfix of the lock transaction (ie. the cvs-version from the last weekend) and hoped that it worked now. But I am sorry to tell you that it still does not work. I tried a compare_swap-operaton using a code like this: int errorcode=raw1394_lock(rawhandle, 0xffc0 | NodeID, 0xfffff0000904ull, 2, new_oPCR0, old_oPCR0, &test_oPCR0); (where *_PCR0 are of the type quadlet_t). But this does return errorcode=-1004. Does anybody know, what this errorcode means? I have no idea. I know that node id and address are ok, because I successfully do a raw1394_read to the same position immediately before the lock. It would be nice, if somebody could help me. Manfred Weihs |
From: Andreas B. <and...@mu...> - 2000-04-19 02:19:09
|
On Tue, Apr 18, 2000 at 10:58:43PM +0200, Manfred Weihs wrote: > Today I tried the bugfix of the lock transaction (ie. the cvs-version > from the last weekend) and hoped that it worked now. But I am sorry to > tell you that it still does not work. I tried a compare_swap-operaton > using a code like this: > > int errorcode=raw1394_lock(rawhandle, 0xffc0 | NodeID, > 0xfffff0000904ull, > 2, new_oPCR0, old_oPCR0, &test_oPCR0); > > (where *_PCR0 are of the type quadlet_t). > > But this does return errorcode=-1004. Does anybody know, what this > errorcode means? It means invalid arg. My fault, I had some arg checking logic in the kernel the wrong way round. Updating the subsystem to CVS should hopefully cure that problem. Maybe I should test it myself some time :-) As for the error codes: you can look them up in raw1394.h (kernel subsystem) or src/kernel-raw1394.h (libraw1394), both files are identical. Error reporting needs to be fixed (or more precisely needs a policy on what errors to return when). -- Andreas E. Bombe <and...@mu...> DSA key 0x04880A44 http://home.pages.de/~andreas.bombe/ http://linux1394.sourceforge.net/ |