Fix the offsets in the printf for the video class output and input
headers.  Tested with UVC device 046d:08cb by Logitech, Inc.

Copied from USB_Video_Class_1.1.pdf Table 3.9.2.1 for reference:

Offset  Field                   Size    Value
0       bLength                 1       Number  
1       bDescriptorType         1       Constant
2       bDescriptorSubtype      1       Constant
3       bNumFormats             1       Number  
4       wTotalLength            2       Number  
6       bEndpointAddress        1       Endpoint
7       bmInfo                  1       Bitmap  
8       bTerminalLink           1       Constant
9       bStillCaptureMethod     1       Number  
10      bTriggerSupport         1       Number
11      bTriggerUsage           1       Number
12      bControlSize            1       Number

Output from instrumented uvcvideo.ko:

        bNumFormats                        3
        wTotalLength                      742
        bEndPointAddress                  129
        bmInfo                              0
        bTerminalLink                       5
        bStillCaptureMethod                 2
        bTriggerSupport                     1
        bTriggerUsage                       0
        bControlSize                        1

Output from corrected lsusb:

        bNumFormats                        3
        wTotalLength                      742
        bEndPointAddress                  129
        bmInfo                              0
        bTerminalLink                       5
        bStillCaptureMethod                 2
        bTriggerSupport                     1
        bTriggerUsage                       0
        bControlSize                        1


Signed-off-by: Brandon Philips <[EMAIL PROTECTED]>

---
 lsusb.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Index: usbutils-0.72/lsusb.c
===================================================================
--- usbutils-0.72.orig/lsusb.c
+++ usbutils-0.72/lsusb.c
@@ -1497,7 +1497,7 @@ static void dump_videostreaming_interfac
                n = buf[12];
                if (buf[0] < 13+p*n)
                        printf("      Warning: Descriptor too short\n");
-               printf("        bNumFormarts                    %5u\n"
+               printf("        bNumFormats                    %5u\n"
                       "        wTotalLength                    %5u\n"
                       "        bEndPointAddress                %5u\n"
                       "        bmInfo                          %5u\n"
@@ -1506,8 +1506,8 @@ static void dump_videostreaming_interfac
                       "        bTriggerSupport                 %5u\n"
                       "        bTriggerUsage                   %5u\n"
                       "        bControlSize                    %5u\n",
-                      p, buf[5] | (buf[6] << 8), buf[7], buf[8], buf[9],
-                      buf[10], buf[11], buf[12], n);
+                      p, buf[4] | (buf[5] << 8), buf[6], buf[7], buf[8],
+                      buf[9], buf[10], buf[11], n);
                for(i = 0; i < p; i++)
                        printf("        bmaControls(%2u)                 
%5u\n", i, buf[13+p*n]);
                dump_junk(buf, "        ", 13+p*n);
@@ -1524,7 +1524,7 @@ static void dump_videostreaming_interfac
                       "        bEndpointAddress            %5u\n"
                       "        bTerminalLink               %5u\n"
                       "        bControlSize                %5u\n",
-                      p, buf[4] | (buf[5] << 8), buf[6], buf[8], n);
+                      p, buf[4] | (buf[5] << 8), buf[6], buf[7], n);
                for(i = 0; i < p; i++)
                        printf("        bmaControls(%2u)             %5u\n", i, 
buf[9+p*n]);
                dump_junk(buf, "        ", 9+p*n);
_______________________________________________
Linux-uvc-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel

Reply via email to