All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab@redhat.com>
To: "Hadli, Manjunath" <manjunath.hadli@ti.com>
Cc: "'Hans Verkuil'" <hverkuil@xs4all.nl>,
	"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>
Subject: Re: [PATCH] vpif_capture.c: v4l2_device_register() is called too late in vpif_probe()
Date: Fri, 06 Jan 2012 11:47:34 -0200	[thread overview]
Message-ID: <4F06FB76.8070205@redhat.com> (raw)
In-Reply-To: <E99FAA59F8D8D34D8A118DD37F7C8F75015F19@DBDE01.ent.ti.com>

On 13-12-2011 10:19, Hadli, Manjunath wrote:
> Hans,
> 
> On Tue, Dec 13, 2011 at 15:14:42, Hans Verkuil wrote:
>> The function v4l2_device_register() is called too late in vpif_probe().
>> This meant that vpif_obj.v4l2_dev is accessed before it is initialized which caused a crash.
>>
>> This used to work in the past, but video_register_device() is now actually using the v4l2_dev pointer.
> I also found this issue today. Good catch!
>>
>> Note that vpif_display.c doesn't have this bug, there v4l2_device_register() is called at the beginning of vpif_probe.
>>
>> Signed-off-by: Georgios Plakaris <gplakari@cisco.com>
>> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
>>
>> diff --git a/drivers/media/video/davinci/vpif_capture.c b/drivers/media/video/davinci/vpif_capture.c
>> index 49e4deb..6504e40 100644
>> --- a/drivers/media/video/davinci/vpif_capture.c
>> +++ b/drivers/media/video/davinci/vpif_capture.c
>> @@ -2177,6 +2177,12 @@ static __init int vpif_probe(struct platform_device *pdev)
>>  		return err;
>>  	}
>>  
>> +	err = v4l2_device_register(vpif_dev, &vpif_obj.v4l2_dev);
>> +	if (err) {
>> +		v4l2_err(vpif_dev->driver, "Error registering v4l2 device\n");
>> +		return err;
>> +	}
>> +
>>  	k = 0;
>>  	while ((res = platform_get_resource(pdev, IORESOURCE_IRQ, k))) {
>>  		for (i = res->start; i <= res->end; i++) { @@ -2246,12 +2252,6 @@ static __init int vpif_probe(struct platform_device *pdev)
>>  		goto probe_out;
>>  	}
>>  
>> -	err = v4l2_device_register(vpif_dev, &vpif_obj.v4l2_dev);
>> -	if (err) {
>> -		v4l2_err(vpif_dev->driver, "Error registering v4l2 device\n");
>> -		goto probe_subdev_out;
>> -	}
>> -
>>  	for (i = 0; i < subdev_count; i++) {
>>  		subdevdata = &config->subdev_info[i];
>>  		vpif_obj.sd[i] =
>> @@ -2281,7 +2281,6 @@ probe_subdev_out:
>>  
>>  	j = VPIF_CAPTURE_MAX_DEVICES;
>>  probe_out:
>> -	v4l2_device_unregister(&vpif_obj.v4l2_dev);
>>  	for (k = 0; k < j; k++) {
>>  		/* Get the pointer to the channel object */
>>  		ch = vpif_obj.dev[k];
>> @@ -2303,6 +2302,7 @@ vpif_int_err:
>>  		if (res)
>>  			i = res->end;
>>  	}
>> +	v4l2_device_unregister(&vpif_obj.v4l2_dev);
>>  	return err;
>>  }
>>  
>>
>>
>>
> 
> ACKed by me. <Manjunath.hadli@ti.com>

Please, reply with the standard way:
Acked-by: Manjunath Hadli <Manjunath.hadli@ti.com>

Otherwise, patchwork will not catch your ack.

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


      reply	other threads:[~2012-01-06 13:47 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-13  9:44 [PATCH] vpif_capture.c: v4l2_device_register() is called too late in vpif_probe() Hans Verkuil
2011-12-13 12:19 ` Hadli, Manjunath
2012-01-06 13:47   ` Mauro Carvalho Chehab [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F06FB76.8070205@redhat.com \
    --to=mchehab@redhat.com \
    --cc=hverkuil@xs4all.nl \
    --cc=linux-media@vger.kernel.org \
    --cc=manjunath.hadli@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.