mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 19:31:09 +07:00
V4L/DVB (11325): soc-camera: fix breakage caused by 1fa5ae857b
soc-camera re-uses struct devices multiple times in calls to device_register(), therefore it has to reset the embedded struct kobject to avoid the "tried to init an initialized object" error, which then also erases its name. Now with the transition to kobject's name for device names, we have to re-initialise the name before each call to device_register(). Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
6cb2c0009e
commit
eee1663fa7
@ -764,7 +764,10 @@ static int soc_camera_s_register(struct file *file, void *fh,
|
||||
|
||||
static int device_register_link(struct soc_camera_device *icd)
|
||||
{
|
||||
int ret = device_register(&icd->dev);
|
||||
int ret = dev_set_name(&icd->dev, "%u-%u", icd->iface, icd->devnum);
|
||||
|
||||
if (!ret)
|
||||
ret = device_register(&icd->dev);
|
||||
|
||||
if (ret < 0) {
|
||||
/* Prevent calling device_unregister() */
|
||||
@ -1060,7 +1063,6 @@ int soc_camera_device_register(struct soc_camera_device *icd)
|
||||
|
||||
icd->devnum = num;
|
||||
icd->dev.bus = &soc_camera_bus_type;
|
||||
dev_set_name(&icd->dev, "%u-%u", icd->iface, icd->devnum);
|
||||
|
||||
icd->dev.release = dummy_release;
|
||||
icd->use_count = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user