Re: [PATCH v1 07/19] uvcvideo: Unify error reporting during format descriptor parsing.

2013-09-03 Thread Laurent Pinchart
Hi Pawel,

Thank you for the patch.

On Friday 30 August 2013 11:17:06 Pawel Osciak wrote:
 Add common error handling paths for format parsing failures.
 
 Signed-off-by: Pawel Osciak posc...@chromium.org
 ---
  drivers/media/usb/uvc/uvc_driver.c | 35 ++-
 1 file changed, 14 insertions(+), 21 deletions(-)
 
 diff --git a/drivers/media/usb/uvc/uvc_driver.c
 b/drivers/media/usb/uvc/uvc_driver.c index d950b40..936ddc7 100644
 --- a/drivers/media/usb/uvc/uvc_driver.c
 +++ b/drivers/media/usb/uvc/uvc_driver.c
 @@ -322,13 +322,8 @@ static int uvc_parse_format(struct uvc_device *dev,
   case UVC_VS_FORMAT_UNCOMPRESSED:
   case UVC_VS_FORMAT_FRAME_BASED:
   n = buffer[2] == UVC_VS_FORMAT_UNCOMPRESSED ? 27 : 28;
 - if (buflen  n) {
 - uvc_trace(UVC_TRACE_DESCR, device %d videostreaming 
 -interface %d FORMAT error\n,
 -dev-udev-devnum,
 -alts-desc.bInterfaceNumber);
 - return -EINVAL;
 - }
 + if (buflen  n)
 + goto format_error;
 
   /* Find the format descriptor from its GUID. */
   fmtdesc = uvc_format_by_guid(buffer[5]);
 @@ -356,13 +351,8 @@ static int uvc_parse_format(struct uvc_device *dev,
   break;
 
   case UVC_VS_FORMAT_MJPEG:
 - if (buflen  11) {
 - uvc_trace(UVC_TRACE_DESCR, device %d videostreaming 
 -interface %d FORMAT error\n,
 -dev-udev-devnum,
 -alts-desc.bInterfaceNumber);
 - return -EINVAL;
 - }
 + if (buflen  11)
 + goto format_error;
 
   strlcpy(format-name, MJPEG, sizeof format-name);
   format-fcc = V4L2_PIX_FMT_MJPEG;
 @@ -372,13 +362,8 @@ static int uvc_parse_format(struct uvc_device *dev,
   break;
 
   case UVC_VS_FORMAT_DV:
 - if (buflen  9) {
 - uvc_trace(UVC_TRACE_DESCR, device %d videostreaming 
 -interface %d FORMAT error\n,
 -dev-udev-devnum,
 -alts-desc.bInterfaceNumber);
 - return -EINVAL;
 - }
 + if (buflen  9)
 + goto format_error;
 
   switch (buffer[8]  0x7f) {
   case 0:
 @@ -542,6 +527,14 @@ static int uvc_parse_format(struct uvc_device *dev,
   }
 
   return buffer - start;
 +
 +format_error:
 + uvc_trace(UVC_TRACE_DESCR, device %d videostreaming 
 + interface %d FORMAT error\n,
 + dev-udev-devnum,
 + alts-desc.bInterfaceNumber);

Could you please align the lines on UVC_TRACE_DESCR ?

 + return -EINVAL;
 +

And remove the extra blank line ?

  }
 
  static int uvc_parse_streaming(struct uvc_device *dev,
-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v1 07/19] uvcvideo: Unify error reporting during format descriptor parsing.

2013-08-29 Thread Pawel Osciak
Add common error handling paths for format parsing failures.

Signed-off-by: Pawel Osciak posc...@chromium.org
---
 drivers/media/usb/uvc/uvc_driver.c | 35 ++-
 1 file changed, 14 insertions(+), 21 deletions(-)

diff --git a/drivers/media/usb/uvc/uvc_driver.c 
b/drivers/media/usb/uvc/uvc_driver.c
index d950b40..936ddc7 100644
--- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c
@@ -322,13 +322,8 @@ static int uvc_parse_format(struct uvc_device *dev,
case UVC_VS_FORMAT_UNCOMPRESSED:
case UVC_VS_FORMAT_FRAME_BASED:
n = buffer[2] == UVC_VS_FORMAT_UNCOMPRESSED ? 27 : 28;
-   if (buflen  n) {
-   uvc_trace(UVC_TRACE_DESCR, device %d videostreaming 
-  interface %d FORMAT error\n,
-  dev-udev-devnum,
-  alts-desc.bInterfaceNumber);
-   return -EINVAL;
-   }
+   if (buflen  n)
+   goto format_error;
 
/* Find the format descriptor from its GUID. */
fmtdesc = uvc_format_by_guid(buffer[5]);
@@ -356,13 +351,8 @@ static int uvc_parse_format(struct uvc_device *dev,
break;
 
case UVC_VS_FORMAT_MJPEG:
-   if (buflen  11) {
-   uvc_trace(UVC_TRACE_DESCR, device %d videostreaming 
-  interface %d FORMAT error\n,
-  dev-udev-devnum,
-  alts-desc.bInterfaceNumber);
-   return -EINVAL;
-   }
+   if (buflen  11)
+   goto format_error;
 
strlcpy(format-name, MJPEG, sizeof format-name);
format-fcc = V4L2_PIX_FMT_MJPEG;
@@ -372,13 +362,8 @@ static int uvc_parse_format(struct uvc_device *dev,
break;
 
case UVC_VS_FORMAT_DV:
-   if (buflen  9) {
-   uvc_trace(UVC_TRACE_DESCR, device %d videostreaming 
-  interface %d FORMAT error\n,
-  dev-udev-devnum,
-  alts-desc.bInterfaceNumber);
-   return -EINVAL;
-   }
+   if (buflen  9)
+   goto format_error;
 
switch (buffer[8]  0x7f) {
case 0:
@@ -542,6 +527,14 @@ static int uvc_parse_format(struct uvc_device *dev,
}
 
return buffer - start;
+
+format_error:
+   uvc_trace(UVC_TRACE_DESCR, device %d videostreaming 
+   interface %d FORMAT error\n,
+   dev-udev-devnum,
+   alts-desc.bInterfaceNumber);
+   return -EINVAL;
+
 }
 
 static int uvc_parse_streaming(struct uvc_device *dev,
-- 
1.8.4

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html