Re: gspca_sunplus problem: more than one device is created

2010-01-11 Thread Hans de Goede

Hi,

On 01/10/2010 08:35 PM, Jean-Francois Moine wrote:

On Sun, 10 Jan 2010 17:38:00 +0100
Németh Mártonnm...@freemail.hu  wrote:


I tried the gspca_sunplus driver from
http://linuxtv.org/hg/~jfrancois/gspca/ rev 13915 on top of Linux
kernel 2.6.32. When I plug the Trust 610 LCD pow...@m Zoom device in
webcam mode (0x06d6:0x0031) then two devices are created: /dev/video0
and /dev/video1:

[snip]

OK, this is a bug. I did not imagine that some webcams had the same
interface class for two different devices. I am fixing it.



JF,

You did not mark this as high priority, still it should go into 2.6.33.
can you please send a mail to Mauro asking for this ?

Regards,

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


Re: gspca_sunplus problem: more than one device is created

2010-01-11 Thread Jean-Francois Moine
On Mon, 11 Jan 2010 01:22:50 +0100
Hans de Goede hdego...@redhat.com wrote:

 You did not mark this as high priority, still it should go into
 2.6.33. can you please send a mail to Mauro asking for this ?

The previous change (test of the interface class) had not a high
priority, so, it will not go into 2.6.33. Then, both changes will go
into 2.6.34. I hope you did not mark a high priority to the cpia1 port
to gspca...

Regards.

-- 
Ken ar c'hentañ | ** Breizh ha Linux atav! **
Jef |   http://moinejf.free.fr/
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: gspca_sunplus problem: more than one device is created

2010-01-10 Thread leandro Costantino
Did that happen  with the included version on the kernel?.
The kernel is calling the probe for the isoch and the bulk, i really
dont have a sunplus webcam to test, and ignore the older behavior,
that's why i am asking.

Best Regards

2010/1/10 Németh Márton nm...@freemail.hu:
 Hi,

 I tried the gspca_sunplus driver from http://linuxtv.org/hg/~jfrancois/gspca/
 rev 13915 on top of Linux kernel 2.6.32. When I plug the Trust 610 LCD 
 pow...@m Zoom
 device in webcam mode (0x06d6:0x0031) then two devices are created: 
 /dev/video0
 and /dev/video1:

 [31636.528184] usb 3-2: new full speed USB device using uhci_hcd and address 5
 [31636.740722] usb 3-2: New USB device found, idVendor=06d6, idProduct=0031
 [31636.740744] usb 3-2: New USB device strings: Mfr=1, Product=2, 
 SerialNumber=0
 [31636.740760] usb 3-2: Product: Trust 610 LCD pow...@m ZOOM
 [31636.740772] usb 3-2: Manufacturer: Trust
 [31636.744229] usb 3-2: configuration #1 chosen from 1 choice
 [31636.747584] gspca: probing 06d6:0031
 [31636.760176] gspca: video0 created
 [31636.760643] gspca: probing 06d6:0031
 [31636.772063] gspca: video1 created

 The /dev/video0 is working correctly but the /dev/video1 just causes error:
 $ ./svv -d /dev/video1
 raw pixfmt: JPEG 464x480
 pixfmt: RGB3 464x480
 mmap method
 VIDIOC_STREAMON error 5, Input/output error

 Here is the USB descriptor of the device:

 Trust 610 LCD pow...@m ZOOM
 Manufacturer: Trust
 Speed: 12Mb/s (full)
 USB Version:  1.00
 Device Class: 00(ifc )
 Device Subclass: 00
 Device Protocol: 00
 Maximum Default Endpoint Size: 8
 Number of Configurations: 1
 Vendor Id: 06d6
 Product Id: 0031
 Revision Number:  1.00

 Config Number: 1
        Number of Interfaces: 2
        Attributes: 80
        MaxPower Needed: 500mA

        Interface Number: 0
                Name: sunplus
                Alternate Number: 0
                Class: ff(vend.)
                Sub Class: 00
                Protocol: 00
                Number of Endpoints: 1

                        Endpoint Address: 81
                        Direction: in
                        Attribute: 1
                        Type: Isoc
                        Max Packet Size: 0
                        Interval: 1ms

        Interface Number: 0
                Name: sunplus
                Alternate Number: 1
                Class: ff(vend.)
                Sub Class: 00
                Protocol: 00
                Number of Endpoints: 1

                        Endpoint Address: 81
                        Direction: in
                        Attribute: 1
                        Type: Isoc
                        Max Packet Size: 128
                        Interval: 1ms

        Interface Number: 0
                Name: sunplus
                Alternate Number: 2
                Class: ff(vend.)
                Sub Class: 00
                Protocol: 00
                Number of Endpoints: 1

                        Endpoint Address: 81
                        Direction: in
                        Attribute: 1
                        Type: Isoc
                        Max Packet Size: 384
                        Interval: 1ms

        Interface Number: 0
                Name: sunplus
                Alternate Number: 3
                Class: ff(vend.)
                Sub Class: 00
                Protocol: 00
                Number of Endpoints: 1

                        Endpoint Address: 81
                        Direction: in
                        Attribute: 1
                        Type: Isoc
                        Max Packet Size: 512
                        Interval: 1ms

        Interface Number: 0
                Name: sunplus
                Alternate Number: 4
                Class: ff(vend.)
                Sub Class: 00
                Protocol: 00
                Number of Endpoints: 1

                        Endpoint Address: 81
                        Direction: in
                        Attribute: 1
                        Type: Isoc
                        Max Packet Size: 640
                        Interval: 1ms

        Interface Number: 0
                Name: sunplus
                Alternate Number: 5
                Class: ff(vend.)
                Sub Class: 00
                Protocol: 00
                Number of Endpoints: 1

                        Endpoint Address: 81
                        Direction: in
                        Attribute: 1
                        Type: Isoc
                        Max Packet Size: 768
                        Interval: 1ms

        Interface Number: 0
                Name: sunplus
                Alternate Number: 6
                Class: ff(vend.)
                Sub Class: 00
                Protocol: 00
                Number of Endpoints: 1

                        Endpoint Address: 81
                        Direction: in
                        Attribute: 1
                        Type: Isoc
                        Max Packet Size: 896
                        

Re: gspca_sunplus problem: more than one device is created

2010-01-10 Thread Jean-Francois Moine
On Sun, 10 Jan 2010 17:38:00 +0100
Németh Márton nm...@freemail.hu wrote:

 I tried the gspca_sunplus driver from
 http://linuxtv.org/hg/~jfrancois/gspca/ rev 13915 on top of Linux
 kernel 2.6.32. When I plug the Trust 610 LCD pow...@m Zoom device in
 webcam mode (0x06d6:0x0031) then two devices are created: /dev/video0
 and /dev/video1:
[snip]

OK, this is a bug. I did not imagine that some webcams had the same
interface class for two different devices. I am fixing it.

Thanks.

-- 
Ken ar c'hentañ | ** Breizh ha Linux atav! **
Jef |   http://moinejf.free.fr/
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: gspca_sunplus problem: more than one device is created

2010-01-10 Thread Németh Márton
leandro Costantino wrote:
 Did that happen  with the included version on the kernel?.
 The kernel is calling the probe for the isoch and the bulk, i really
 dont have a sunplus webcam to test, and ignore the older behavior,
 that's why i am asking.

I tested with 2.6.33-rc2 on a Clevo D4J model D410J laptop. There only one
device is created. Not counting the circular locking that version is working
properly:

[  280.578560] usb 3-1: new full speed USB device using uhci_hcd and address 2
[  281.177675] Linux video capture interface: v2.00
[  281.229464] gspca: main v2.8.0 registered
[  281.260399] gspca: probing 06d6:0031
[  281.286724] gspca: video0 created
[  281.286909] gspca: probing 06d6:0031
[  281.286914] gspca: intf != 0
[  281.295106] usbcore: registered new interface driver sunplus
[  281.295122] sunplus: registered
[  581.086743]
[  581.086753] ===
[  581.086770] [ INFO: possible circular locking dependency detected ]
[  581.086783] 2.6.33-rc2 #1
[  581.086790] ---
[  581.086800] svv/3409 is trying to acquire lock:
[  581.086811]  (sysfs_mutex){+.+.+.}, at: [c03338e3] 
sysfs_get_dirent+0x23/0xe0
[  581.086846]
[  581.086849] but task is already holding lock:
[  581.086858]  (gspca_dev-usb_lock){+.+...}, at: [f80f7019] 
gspca_init_transfer+0x29/0x840 [gspca_main]
[  581.086888]
[  581.086891] which lock already depends on the new lock.
[  581.086895]
[  581.086903]
[  581.086905] the existing dependency chain (in reverse order) is:
[  581.086915]
[  581.086917] - #3 (gspca_dev-usb_lock){+.+...}:
[  581.086935][c01bd1da] validate_chain+0x12ea/0x1e40
[  581.086953][c01be064] __lock_acquire+0x334/0x15a0
[  581.086968][c01bf39a] lock_acquire+0xca/0x220
[  581.086982][c0649d9a] mutex_lock_interruptible_nested+0xaa/0xa20
[  581.087002][f80f7019] gspca_init_transfer+0x29/0x840 [gspca_main]
[  581.087020][f80f79ad] vidioc_streamon+0xfd/0x180 [gspca_main]
[  581.087037][f80e6abc] __video_do_ioctl+0x29ec/0x71c0 [videodev]
[  581.087057][f80eb36d] video_ioctl2+0xdd/0x980 [videodev]
[  581.087074][f80e22e7] v4l2_unlocked_ioctl+0x37/0x70 [videodev]
[  581.087091][c02bd6ed] vfs_ioctl+0x3d/0x130
[  581.087109][c02bda60] do_vfs_ioctl+0x80/0xb10
[  581.087111][c02be539] sys_ioctl+0x49/0xc0
[  581.087111][c010484c] sysenter_do_call+0x12/0x32
[  581.087111]
[  581.087111] - #2 (gspca_dev-queue_lock){+.+.+.}:
[  581.087111][c01bd1da] validate_chain+0x12ea/0x1e40
[  581.087111][c01be064] __lock_acquire+0x334/0x15a0
[  581.087111][c01bf39a] lock_acquire+0xca/0x220
[  581.087111][c0649d9a] mutex_lock_interruptible_nested+0xaa/0xa20
[  581.087111][f80fa4ad] dev_mmap+0x4d/0x3e0 [gspca_main]
[  581.087111][f80e238a] v4l2_mmap+0x6a/0x80 [videodev]
[  581.087111][c027b234] mmap_region+0x7a4/0x890
[  581.087111][c027b8aa] do_mmap_pgoff+0x58a/0x5c0
[  581.087111][c0267296] sys_mmap_pgoff+0xf6/0x240
[  581.087111][c010484c] sysenter_do_call+0x12/0x32
[  581.087111]
[  581.087111] - #1 (mm-mmap_sem){++}:
[  581.087111][c01bd1da] validate_chain+0x12ea/0x1e40
[  581.087111][c01be064] __lock_acquire+0x334/0x15a0
[  581.087111][c01bf39a] lock_acquire+0xca/0x220
[  581.087111][c026ccef] might_fault+0xdf/0x120
[  581.087111][c0427670] copy_to_user+0x60/0x1c0
[  581.087111][c02bf0cf] filldir64+0x17f/0x210
[  581.087111][c03334b4] sysfs_readdir+0x174/0x320
[  581.087111][c02bf5fc] vfs_readdir+0xec/0x130
[  581.087111][c02bf6c7] sys_getdents64+0x87/0x150
[  581.087111][c010484c] sysenter_do_call+0x12/0x32
[  581.087111]
[  581.087111] - #0 (sysfs_mutex){+.+.+.}:
[  581.087111][c01bdb3a] validate_chain+0x1c4a/0x1e40
[  581.087111][c01be064] __lock_acquire+0x334/0x15a0
[  581.087111][c01bf39a] lock_acquire+0xca/0x220
[  581.087111][c064b210] mutex_lock_nested+0xa0/0x820
[  581.087111][c03338e3] sysfs_get_dirent+0x23/0xe0
[  581.087111][c0337220] sysfs_remove_group+0x30/0x220
[  581.087111][c050e5be] dpm_sysfs_remove+0x1e/0x30
[  581.087111][c0501711] device_del+0x71/0x310
[  581.087111][c05019c9] device_unregister+0x19/0x40
[  581.087111][f899d1c1] usb_remove_ep_devs+0x31/0x50 [usbcore]
[  581.087111][f898fa13] remove_intf_ep_devs+0x43/0xa0 [usbcore]
[  581.087111][f8991c83] usb_set_interface+0x1e3/0x430 [usbcore]
[  581.087111][f80f6f33] get_ep+0x293/0x350 [gspca_main]
[  581.087111][f80f70c8] gspca_init_transfer+0xd8/0x840 [gspca_main]
[  581.087111][f80f79ad] vidioc_streamon+0xfd/0x180 [gspca_main]
[  581.087111][f80e6abc] __video_do_ioctl+0x29ec/0x71c0 [videodev]
[  581.087111][f80eb36d] video_ioctl2+0xdd/0x980 [videodev]
[  581.087111] 

Re: gspca_sunplus problem: more than one device is created

2010-01-10 Thread Németh Márton
Jean-Francois Moine wrote:
 On Sun, 10 Jan 2010 17:38:00 +0100
 Németh Márton nm...@freemail.hu wrote:
 
 I tried the gspca_sunplus driver from
 http://linuxtv.org/hg/~jfrancois/gspca/ rev 13915 on top of Linux
 kernel 2.6.32. When I plug the Trust 610 LCD pow...@m Zoom device in
 webcam mode (0x06d6:0x0031) then two devices are created: /dev/video0
 and /dev/video1:
   [snip]
 
 OK, this is a bug. I did not imagine that some webcams had the same
 interface class for two different devices. I am fixing it.

rev 13917 from http://linuxtv.org/hg/~jfrancois/gspca/ works correctly
with Trust 610 LCD pow...@m Zoom device in webcam mode (0x06d6:0x0031):
only one device is created.

Thanks for the fix.

Regards,

Márton Németh

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