firewire: expose extended tcode of incoming lock requests to (userspace) drivers
When a remote device does a LOCK_REQUEST, the core does not pass the extended tcode to userspace. This patch makes it use the juju-specific tcodes listed in firewire-constants.h for incoming requests. Signed-off-by: Jay Fenlason <fenlason@redhat.com> This matches how tcode in the API for outbound requests is treated. Affects kernelspace and userspace drivers alike, but at the moment there are no kernespace drivers that receive lock requests. Split out from a combo patch, slightly reordered, changelog reworded. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
This commit is contained in:
parent
604f451678
commit
c82f91f266
1 changed files with 3 additions and 1 deletions
|
@ -780,9 +780,11 @@ static void handle_exclusive_region_request(struct fw_card *card,
|
|||
unsigned long flags;
|
||||
int tcode, destination, source;
|
||||
|
||||
tcode = HEADER_GET_TCODE(p->header[0]);
|
||||
destination = HEADER_GET_DESTINATION(p->header[0]);
|
||||
source = HEADER_GET_SOURCE(p->header[1]);
|
||||
tcode = HEADER_GET_TCODE(p->header[0]);
|
||||
if (tcode == TCODE_LOCK_REQUEST)
|
||||
tcode = 0x10 + HEADER_GET_EXTENDED_TCODE(p->header[3]);
|
||||
|
||||
spin_lock_irqsave(&address_handler_lock, flags);
|
||||
handler = lookup_enclosing_address_handler(&address_handler_list,
|
||||
|
|
Loading…
Reference in a new issue