Please discard this patch. I have sent an updated version to the list.

Murali Karicheri
Software Design Engineer
Texas Instruments Inc.
Germantown, MD 20874
phone: 301-407-9583
email: [email protected]

>-----Original Message-----
>From: Karicheri, Muralidharan
>Sent: Wednesday, March 17, 2010 1:19 PM
>To: [email protected]; [email protected]
>Cc: [email protected]; Karicheri, Muralidharan
>Subject: [GIT FIX for 2.6.34] V4L - vpfe capture - fix for kernel crash on
>DM365
>
>From: Muralidharan Karicheri <[email protected]>
>
>As part of upstream merge, set_params() function was removed from isif.c.
>This requires
>removal of BUG_ON() and check for set_params ptr in vpfe_capture.c.
>
>Signed-off-by: Muralidharan Karicheri <[email protected]>
>---
> drivers/media/video/davinci/vpfe_capture.c |   24 +++++++++++++-----------
> 1 files changed, 13 insertions(+), 11 deletions(-)
>
>diff --git a/drivers/media/video/davinci/vpfe_capture.c
>b/drivers/media/video/davinci/vpfe_capture.c
>index 91f665b..aa7dd65 100644
>--- a/drivers/media/video/davinci/vpfe_capture.c
>+++ b/drivers/media/video/davinci/vpfe_capture.c
>@@ -222,7 +222,6 @@ int vpfe_register_ccdc_device(struct ccdc_hw_device
>*dev)
>       BUG_ON(!dev->hw_ops.get_frame_format);
>       BUG_ON(!dev->hw_ops.get_pixel_format);
>       BUG_ON(!dev->hw_ops.set_pixel_format);
>-      BUG_ON(!dev->hw_ops.set_params);
>       BUG_ON(!dev->hw_ops.set_image_window);
>       BUG_ON(!dev->hw_ops.get_image_window);
>       BUG_ON(!dev->hw_ops.get_line_length);
>@@ -1704,16 +1703,19 @@ static long vpfe_param_handler(struct file *file,
>void *priv,
>       case VPFE_CMD_S_CCDC_RAW_PARAMS:
>               v4l2_warn(&vpfe_dev->v4l2_dev,
>                         "VPFE_CMD_S_CCDC_RAW_PARAMS: experimental ioctl\n");
>-              ret = ccdc_dev->hw_ops.set_params(param);
>-              if (ret) {
>-                      v4l2_err(&vpfe_dev->v4l2_dev,
>-                              "Error in setting parameters in CCDC\n");
>-                      goto unlock_out;
>-              }
>-              if (vpfe_get_ccdc_image_format(vpfe_dev, &vpfe_dev->fmt) < 0) {
>-                      v4l2_err(&vpfe_dev->v4l2_dev,
>-                              "Invalid image format at CCDC\n");
>-                      goto unlock_out;
>+              if (ccdc_dev->hw_ops.set_params) {
>+                      ret = ccdc_dev->hw_ops.set_params(param);
>+                      if (ret) {
>+                              v4l2_err(&vpfe_dev->v4l2_dev,
>+                                      "Error setting parameters in CCDC\n");
>+                              goto unlock_out;
>+                      }
>+                      if (vpfe_get_ccdc_image_format(vpfe_dev,
>+                                                     &vpfe_dev->fmt) < 0) {
>+                              v4l2_err(&vpfe_dev->v4l2_dev,
>+                                      "Invalid image format at CCDC\n");
>+                              goto unlock_out;
>+                      }
>               }
>               break;
>       default:
>--
>1.6.0.4

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to