firewire: fix setting tag and sy in iso transmission
authorStefan Richter <stefanr@s5r6.in-berlin.de>
Fri, 12 Sep 2008 16:09:55 +0000 (18:09 +0200)
committerStefan Richter <stefanr@s5r6.in-berlin.de>
Wed, 15 Oct 2008 20:21:10 +0000 (22:21 +0200)
Reported by Jay Fenlason:
The iso packet control accessors in fw-cdev.c had bogus masks.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
drivers/firewire/fw-cdev.c

index 2e6d5848d2172011f94058b09c8634c56b091dea..cfceb2cba4e49e91c50e62d3175592961a017b07 100644 (file)
@@ -720,8 +720,8 @@ static int ioctl_create_iso_context(struct client *client, void *buffer)
 #define GET_PAYLOAD_LENGTH(v)  ((v) & 0xffff)
 #define GET_INTERRUPT(v)       (((v) >> 16) & 0x01)
 #define GET_SKIP(v)            (((v) >> 17) & 0x01)
-#define GET_TAG(v)             (((v) >> 18) & 0x02)
-#define GET_SY(v)              (((v) >> 20) & 0x04)
+#define GET_TAG(v)             (((v) >> 18) & 0x03)
+#define GET_SY(v)              (((v) >> 20) & 0x0f)
 #define GET_HEADER_LENGTH(v)   (((v) >> 24) & 0xff)
 
 static int ioctl_queue_iso(struct client *client, void *buffer)