Re: [PATCH 1/5] firewire: fix use of multiple AV/C devices, allow multiple FCP listeners

Stefan Richter
2009-12-26T14:14:13Z

Pieter Palmers wrote:
[lack of system-wide FCP transaction serialization]
> This is not a 'practical' problem because most people (learn to) leave
> enough time between starting jackd and starting the mixer. This makes
> things usable, but I don't really consider this to be a satisfactory
> solution.

Ah, so this is yet another of those software flaws which are not talked
about because people take the workaround as something inevitable.

>>> I think this can only be implemented by tracking which AVC commands have
>>> been sent to what device, regardless of the userspace application (or
>>> kernel driver) that sent them, and disallowing any transactions that
>>> result in scenarios such as the above.

BTW, what about AV/C RESERVE? According to the spec, it means that a
controller gets exclusive FCP access to a target. At this point, a
node-wide FCP serializer will have to decide on a policy: The simpler
policy would be to remain oblivious of RESERVE. The more difficult to
implement policy would be to keep track of reservations and only allow a
single controller process (or user, or...) to perform subsequent
transactions for the duration of a reservation. (I for one would keep
it simple.)