On 05/29/2017 09:49 AM, Niklas Söderlund wrote:
Hi Hans,
Thanks for taking the time to look at this :-)
On 2017-05-29 08:56:31 +0200, Hans Verkuil wrote:
On 05/29/2017 08:52 AM, Hans Verkuil wrote:
Hi Niklas,
On 05/24/2017 02:15 AM, Niklas Söderlund wrote:
From: Niklas Söderlund <niklas.soderlund+renesas@xxxxxxxxxxxx>
The driver registers the video device from the async complete callback
and unregistered in the async unbind callback. This creates problems if
if the subdevice is bound, unbound and later rebound. The second time
video_register_device() is called it fails:
kobject (eb3be918): tried to init an initialized object, something is seriously wrong.
To prevent this register the video device at prob time and don't allow
user-space to open the video device if the subdevice have not yet been
bound.
This patch feels wrong. Creating the video device in the notify_complete seems
right to me, so the problem is much more likely in the removal of the video device.
What *exactly* goes wrong here
When calling video_register_device() it fails since the device structure
have already been registered once. So it is not possible to register,
unregister and then register the same video device struct. The other
solution to this is to memset the whole embedded video device struct to
zero before initializing it and calling video_register_device(), but
that feels more wrong. Let me know what you think and I will rework this
patch.
FYI: I'm taking all other patches of this series,
Oops, I saw Sakari had two comments. I'll wait for a v3 then.
If you make a v3 with Sakari's suggestions and drop this patch, then I can merge
it and make a pull request for it.
I can't find Sakaris comments in my inbox or on the ML for this thread.
Where did you see them?
Sorry, my mistake. Those comments were for the
"[PATCH v2 0/2] media: entity: add operation to help map DT node to media pad"
patch series.
Never mind. I'm going to merge all but this patch and get back to you on this one.
Regards,
Hans