V4L/pwc - use usb_interface as parent, not usb_device
PATCH 1/1 V4L/pwc - use usb_interface as parent, not usb_device
The current code creates a sysfs device path where the video4linux device is child of the usb device itself instead of the interface it belongs to. That is evil and confuses udev.
This patch does basically the same thing as Kay's similar patch for the ov511 driver:
(Resent 2nd time, due to missing Signed-off-by)
Lennart
--- drivers/media/video/pwc/pwc-if.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
drivers/media/video/pwc/pwc-if.c +1 -1
@@ -1783,7 +1783,7 @@ static int usb_pwc_probe(struct usb_interface *intf, const struct usb_device_idreturn -ENOMEM ; }memcpy (pdev->vdev, &pwc_template,sizeof (pwc_template)); - pdev->vdev->parent = &(udev->dev); + pdev->vdev->parent = &intf->dev;strcpy (pdev->vdev->name, name);video_set_drvdata (pdev->vdev, pdev);
Signature · 10 lines
1.6.2.2 Lennart -- Lennart Poettering Red Hat, Inc. lennart [at] poettering [dot] net ICQ# 11060553 http://0pointer.net/lennart/ GnuPG 0x1A015CC4
Looks good, we recently fixed the same issue in the gspca driver to,
Quoted 31 lines · Lennart Poettering
The current code creates a sysfs device path where the video4linux device is child of the usb device itself instead of the interface it belongs to. That is evil and confuses udev.
This patch does basically the same thing as Kay's similar patch for the ov511 driver:
(Resent 2nd time, due to missing Signed-off-by)
Lennart
Signed-off-by Lennart Poettering<[email protected]>--- drivers/media/video/pwc/pwc-if.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)drivers/media/video/pwc/pwc-if.c +1
-1@@ -1783,7 +1783,7 @@ static int usb_pwc_probe(struct usb_interface *intf, const struct usb_device_idreturn -ENOMEM ; }memcpy (pdev->vdev,&pwc_template,sizeof (pwc_template)); - pdev->vdev->parent =&(udev->dev); + pdev->vdev->parent =&intf->dev;strcpy (pdev->vdev->name, name);video_set_drvdata (pdev->vdev, pdev);