Re: A BUG and ieee1394_transactions.c: FIXME: Lengths not multiple of 4 are not implemented.
Brought to you by:
aeb,
bencollins
From: Manfred W. <e95...@st...> - 2000-04-04 17:26:35
|
Andreas Bombe wrote: > ... the byte order policy changed, now bytes appear on the bus as > they are ordered in RAM (i.e. no hardware byte swapping is done > anymore on little endian -- except for the header, but this is an > internal issue). That is not completely true. Since the header of iso packets is stored in the first quadlet of the buffer which is handed over to iso_handler_t, it is not an internal issue of the driver, because also user space applications get access to it. BTW: It took me quite a while to find out, that the first quadlet of this buffer is the 1394-header (stored little endian), then the header-crc is missing, and then the rest (the data) of the packet follows (stored big endian). Of course it makes sense that this header is handed over to the iso handler (because it provides a means to find out, if the packet has a CIP header), but it could be considered if it makes more sense to change its byte order (so that _everything_ is big endian) or to introduce new arguments for the handler (expecially Tag and perhaps Sy) and remove the header from the buffer. Manfred Weihs |