Hey Laurent-

I think the patch is incomplete.  Maybe I am missing something obvious?

Thanks,

        Brandon

On 18:40 Sat 31 May 2008, Laurent Pinchart wrote:
> @@ -561,7 +586,7 @@
>       if (buflen <= 2) {
>               uvc_trace(UVC_TRACE_DESCR, "no class-specific streaming "
>                       "interface descriptors found.\n");
> -             return -EINVAL;

                ret = -EINVAL

> +             goto error;
>       }
>  
>       /* Parse the header descriptor. */
> @@ -569,7 +594,7 @@
>               uvc_trace(UVC_TRACE_DESCR, "device %d videostreaming interface "
>                       "%d OUTPUT HEADER descriptor is not supported.\n",
>                       dev->udev->devnum, alts->desc.bInterfaceNumber);
> -             return -EINVAL;

                ret = -EINVAL

> +             goto error;
>       } else if (buffer[2] == VS_INPUT_HEADER) {
>               p = buflen >= 5 ? buffer[3] : 0;
>               n = buflen >= 12 ? buffer[12] : 0;
> @@ -579,7 +604,7 @@
>                               "interface %d INPUT HEADER descriptor is "
>                               "invalid.\n", dev->udev->devnum,
>                               alts->desc.bInterfaceNumber);
> -                     return -EINVAL;

                ret = -EINVAL

> +                     goto error;
>               }
>  
>               streaming->header.bNumFormats = p;
> @@ -592,15 +617,17 @@
>               streaming->header.bControlSize = n;
>  
>               streaming->header.bmaControls = kmalloc(p*n, GFP_KERNEL);
> -             if (streaming->header.bmaControls == NULL)
> -                     return -ENOMEM;
> +             if (streaming->header.bmaControls == NULL) {
> +                     ret = -ENOMEM;
> +                     goto error;
> +             }
>  
>               memcpy(streaming->header.bmaControls, &buffer[13], p*n);
>       } else {
>               uvc_trace(UVC_TRACE_DESCR, "device %d videostreaming interface "
>                       "%d HEADER descriptor not found.\n", dev->udev->devnum,
>                       alts->desc.bInterfaceNumber);
> -             return -EINVAL;

                ret = -EINVAL

> +             goto error;
>       }
>  
>       buflen -= buffer[0];
> @@ -657,14 +684,16 @@
>               uvc_trace(UVC_TRACE_DESCR, "device %d videostreaming interface "
>                       "%d has no supported formats defined.\n",
>                       dev->udev->devnum, alts->desc.bInterfaceNumber);
> -             return -EINVAL;

                ret = -EINVAL

> +             goto error;
>       }
_______________________________________________
Linux-uvc-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel

Reply via email to