VisionFive2 Linux kernel

StarFive Tech Linux Kernel for VisionFive (JH7110) boards (mirror)

More than 9999 Commits   32 Branches   54 Tags
author: Jay Fenlason <fenlason@redhat.com> 2010-05-18 10:57:33 -0400 committer: Stefan Richter <stefanr@s5r6.in-berlin.de> 2010-06-20 23:11:56 +0200 commit: c82f91f2663e79b150afd896ec72e798ba4e243d parent: 604f45167824e18ad5766e51ecf1d4d65f15118d
Commit Summary:
firewire: expose extended tcode of incoming lock requests to (userspace) drivers
Diffstat:
1 file changed, 3 insertions, 1 deletion
diff --git a/drivers/firewire/core-transaction.c b/drivers/firewire/core-transaction.c
index 2f67c8d5ce91..fcb455c08200 100644
--- a/drivers/firewire/core-transaction.c
+++ b/drivers/firewire/core-transaction.c
@@ -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,