Re: uvcvideo causes ehci_hcd to halt

2009-10-24 Thread Ozan Çağlayan
Alan Stern wrote:
 Okay, that proves this really is a timing bug in the hardware.  But we
 can't go around putting 2-millisecond delays in the kernel!  Maybe you
 can test to see if smaller delays will fix the problem.  If 50
 microseconds or less doesn't work then it will be necessary to add a
 new timer to ehci-hcd.
   

Okay I'll check with smaller values there but I couldn't get the meaning
of if 50 us or less doesn't work then it will be necessary to add a new
timer to ehci-hcd.

Thanks.

--
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: uvcvideo causes ehci_hcd to halt

2009-10-24 Thread Alan Stern
On Sat, 24 Oct 2009, [UTF-8] Ozan Çağlayan wrote:

 Alan Stern wrote:
  Okay, that proves this really is a timing bug in the hardware.  But we
  can't go around putting 2-millisecond delays in the kernel!  Maybe you
  can test to see if smaller delays will fix the problem.  If 50
  microseconds or less doesn't work then it will be necessary to add a
  new timer to ehci-hcd.

 
 Okay I'll check with smaller values there but I couldn't get the meaning
 of if 50 us or less doesn't work then it will be necessary to add a new
 timer to ehci-hcd.

If everything works with a delay of 50 us or less then we probably can
just put the udelay() statement into the kernel.  If it doesn't (for
example, if the delay has to be longer than 100 us) then we can't --
the delay would be too long.  Instead we will have to add a new timer.

Alan Stern

--
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: uvcvideo causes ehci_hcd to halt

2009-10-23 Thread Ozan Çağlayan
Alan Stern wrote On 22-10-2009 17:05:
 On Thu, 22 Oct 2009, [UTF-8] Ozan Çağlayan wrote:

   
 Here's the outputs from /sys/kernel/debug/usb/ehci:

 periodic:
 
 size = 1024
1:  qh1024-0001/f6ffe280 (h2 ep2 [1/0] q0 p8)
 

 There's something odd about this.  I'd like to see this file again, 
 after the patch below has been applied.
   

periodic
size = 1024
   1:  qh1024-0001/f6ffe280 (h2 ep2 [1/0] q0 p8) t

registers
bus pci, device :00:1d.7
EHCI Host Controller
EHCI 1.00, hcd state 0
ownership 0001
SMI sts/enable 0x8008
structural params 0x00104208
capability params 0x00016871
status 6008 Periodic Recl FLR
command 01 (park)=0 ithresh=1 period=1024 HALT
intrenable 00
uframe 0677
port 1 status 001000 POWER sig=se0
port 2 status 001000 POWER sig=se0
port 3 status 001000 POWER sig=se0
port 4 status 001000 POWER sig=se0
port 5 status 001005 POWER sig=se0 PE CONNECT
port 6 status 001005 POWER sig=se0 PE CONNECT
port 7 status 001000 POWER sig=se0
port 8 status 001000 POWER sig=se0
irq normal 60 err 0 reclaim 14 (lost 0)
complete 60 unlink 1

After putting a udelay() the problem seems to be resolved. I did a
rmmod-modprobe-sleep in 50 iterations,  and the host controller was
still functional along with the web-cam:

periodic
size = 1024

registers
bus pci, device :00:1d.7
EHCI Host Controller
EHCI 1.00, hcd state 1
ownership 0001
SMI sts/enable 0x8008
structural params 0x00104208
capability params 0x00016871
status 2008 Recl FLR
command 010001 (park)=0 ithresh=1 period=1024 RUN
intrenable 37 IAA FATAL PCD ERR INT
uframe 0908
port 1 status 001000 POWER sig=se0
port 2 status 001000 POWER sig=se0
port 3 status 001000 POWER sig=se0
port 4 status 001000 POWER sig=se0
port 5 status 001005 POWER sig=se0 PE CONNECT
port 6 status 001005 POWER sig=se0 PE CONNECT
port 7 status 001000 POWER sig=se0
port 8 status 001000 POWER sig=se0
irq normal 2115 err 0 reclaim 300 (lost 0)
complete 2110 unlink 8

--
Thanks a lot for all your efforts!
--
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: uvcvideo causes ehci_hcd to halt

2009-10-23 Thread Alan Stern
On Fri, 23 Oct 2009, [UTF-8] Ozan Çağlayan wrote:

  There's something odd about this.  I'd like to see this file again, 
  after the patch below has been applied.

 
 periodic
 size = 1024
1:  qh1024-0001/f6ffe280 (h2 ep2 [1/0] q0 p8) t

On closer study and more careful thought, there's nothing odd here at
all.  This is what would be expected given the bug that you saw.

 After putting a udelay() the problem seems to be resolved. I did a
 rmmod-modprobe-sleep in 50 iterations,  and the host controller was
 still functional along with the web-cam:

Okay, that proves this really is a timing bug in the hardware.  But we
can't go around putting 2-millisecond delays in the kernel!  Maybe you
can test to see if smaller delays will fix the problem.  If 50
microseconds or less doesn't work then it will be necessary to add a
new timer to ehci-hcd.

Alan Stern

--
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: uvcvideo causes ehci_hcd to halt

2009-10-22 Thread Ozan Çağlayan
Alan Stern wrote On 22-10-2009 04:36:
 On Thu, 22 Oct 2009, Laurent Pinchart wrote:
   

Here's the outputs from /sys/kernel/debug/usb/ehci:

periodic:

size = 1024
   1:  qh1024-0001/f6ffe280 (h2 ep2 [1/0] q0 p8)

registers:

bus pci, device :00:1d.7
EHCI Host Controller
EHCI 1.00, hcd state 0
ownership 0001
SMI sts/enable 0x8008
structural params 0x00104208
capability params 0x00016871
status 6008 Periodic Recl FLR
command 01 (park)=0 ithresh=1 period=1024 HALT
intrenable 00
uframe 2fa0
port 1 status 001000 POWER sig=se0
port 2 status 001000 POWER sig=se0
port 3 status 001000 POWER sig=se0
port 4 status 001000 POWER sig=se0
port 5 status 001005 POWER sig=se0 PE CONNECT
port 6 status 001005 POWER sig=se0 PE CONNECT
port 7 status 001000 POWER sig=se0
port 8 status 001000 POWER sig=se0
irq normal 60 err 0 reclaim 16 (lost 0)
complete 60 unlink 1
--
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: uvcvideo causes ehci_hcd to halt

2009-10-22 Thread Alan Stern
On Thu, 22 Oct 2009, [UTF-8] Ozan Çağlayan wrote:

 Here's the outputs from /sys/kernel/debug/usb/ehci:
 
 periodic:
 
 size = 1024
1:  qh1024-0001/f6ffe280 (h2 ep2 [1/0] q0 p8)

There's something odd about this.  I'd like to see this file again, 
after the patch below has been applied.

 registers:
 
 bus pci, device :00:1d.7
 EHCI Host Controller
 EHCI 1.00, hcd state 0
 ownership 0001
 SMI sts/enable 0x8008
 structural params 0x00104208
 capability params 0x00016871
 status 6008 Periodic Recl FLR
 command 01 (park)=0 ithresh=1 period=1024 HALT
 intrenable 00
 uframe 2fa0
 port 1 status 001000 POWER sig=se0
 port 2 status 001000 POWER sig=se0
 port 3 status 001000 POWER sig=se0
 port 4 status 001000 POWER sig=se0
 port 5 status 001005 POWER sig=se0 PE CONNECT
 port 6 status 001005 POWER sig=se0 PE CONNECT
 port 7 status 001000 POWER sig=se0
 port 8 status 001000 POWER sig=se0
 irq normal 60 err 0 reclaim 16 (lost 0)
 complete 60 unlink 1

This confirms that the periodic schedule was never disabled.

So first get another copy of the periodic file with the patch below.  
Then try changing the enable_periodic() routine in ehci-sched.c: Add

udelay(2000);

just before the final return 0; line.  Let's see if that prevents the 
problem from occurring.

Alan Stern



--- usb-2.6.orig/drivers/usb/host/ehci-dbg.c
+++ usb-2.6/drivers/usb/host/ehci-dbg.c
@@ -591,18 +591,21 @@ static ssize_t fill_periodic_buffer(stru
qtd-hw_token)  8)) {
case 0: type = out; continue;
case 1: type = in; continue;
+   case 2: type = ?2; continue;
+   case 3: type = ?3; continue;
}
}
 
temp = scnprintf (next, size,
 (%c%d ep%d%s 
-   [%d/%d] q%d p%d),
+   [%d/%d] q%d p%d) %08x,
speed_char (scratch),
scratch  0x007f,
(scratch  8)  0x000f, type,
p.qh-usecs, p.qh-c_usecs,
temp,
-   0x7ff  (scratch  16));
+   0x7ff  (scratch  16),
+   hc32_to_cpu(ehci, 
qtd-hw_token));
 
if (seen_count  DBG_SCHED_LIMIT)
seen [seen_count++].qh = p.qh;

--
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: uvcvideo causes ehci_hcd to halt

2009-10-22 Thread Ozan Çağlayan
Alan Stern wrote:
 On Thu, 22 Oct 2009, [UTF-8] Ozan Çağlayan wrote:

   
 Here's the outputs from /sys/kernel/debug/usb/ehci:

 periodic:
 
 size = 1024
1:  qh1024-0001/f6ffe280 (h2 ep2 [1/0] q0 p8)
 

 There's something odd about this.  I'd like to see this file again, 
 after the patch below has been applied.

   

Do you want me to apply this patch altogether with the first one that
you sent a while ago in this thread or directly onto the vanilla kernel?
--
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: uvcvideo causes ehci_hcd to halt

2009-10-22 Thread Alan Stern
On Thu, 22 Oct 2009, [UTF-8] Ozan Çağlayan wrote:

 Alan Stern wrote:
  On Thu, 22 Oct 2009, [UTF-8] Ozan Çağlayan wrote:
 

  Here's the outputs from /sys/kernel/debug/usb/ehci:
 
  periodic:
  
  size = 1024
 1:  qh1024-0001/f6ffe280 (h2 ep2 [1/0] q0 p8)
  
 
  There's something odd about this.  I'd like to see this file again, 
  after the patch below has been applied.
 

 
 Do you want me to apply this patch altogether with the first one that
 you sent a while ago in this thread or directly onto the vanilla kernel?

It doesn't matter.  The size = 1024 line in your debugging output 
means that the first patch won't have any effect; my hunch was wrong.

However it turns out that the most recent patch wasn't quite what I
wanted.  Here's an updated version to be used instead.

Alan Stern



Index: usb-2.6/drivers/usb/host/ehci-dbg.c
===
--- usb-2.6.orig/drivers/usb/host/ehci-dbg.c
+++ usb-2.6/drivers/usb/host/ehci-dbg.c
@@ -596,18 +596,22 @@ static ssize_t fill_periodic_buffer(stru
qtd-hw_token)  8)) {
case 0: type = out; continue;
case 1: type = in; continue;
+   case 2: type = ?2; continue;
+   case 3: type = ?3; continue;
}
}
 
temp = scnprintf (next, size,
 (%c%d ep%d%s 
-   [%d/%d] q%d p%d),
+   [%d/%d] q%d p%d) t%08x,
speed_char (scratch),
scratch  0x007f,
(scratch  8)  0x000f, type,
p.qh-usecs, p.qh-c_usecs,
temp,
-   0x7ff  (scratch  16));
+   0x7ff  (scratch  16),
+   hc32_to_cpu(ehci,
+   p.qh-hw-hw_token));
 
if (seen_count  DBG_SCHED_LIMIT)
seen [seen_count++].qh = p.qh;

--
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: uvcvideo causes ehci_hcd to halt

2009-10-21 Thread Alan Stern
On Wed, 21 Oct 2009, [UTF-8] Ozan Çağlayan wrote:

 Nope it didn't help. Here's the DEBUG enabled dmesg output:

...
 [  420.737748] usb 1-5: link qh1024-0001/f6ffe280 start 1 [1/0 us]

The periodic schedule was enabled here.

 [  420.737891] usb 1-5: unlink qh1024-0001/f6ffe280 start 1 [1/0 us]

And it was disabled here.  Do you have any idea why the uvcvideo driver 
submits an interrupt URB and then cancels it 150 us later?  The same 
thing shows up in the usbmon traces.

 [  420.741605] usb 1-5:1.0: uevent
 [  420.741957] usb 1-5: uevent
 [  420.745592] usb 1-5:1.0: uevent
 [  420.807880] ehci_hcd :00:1d.7: reused qh f6ffe280 schedule
 [  420.807894] usb 1-5: link qh1024-0001/f6ffe280 start 1 [1/0 us]

Now ehci-hcd tried to re-enable the periodic schedule.  Note that 
this is 70 ms after it was supposed to be disabled.

 [  420.808780] ehci_hcd :00:1d.7: force halt; handhake f7c6a024
 4000  - -110

This error message means that the disable request from 70 ms earlier
hasn't taken effect.  It looks like a nasty hardware bug -- the
controller is supposed to disable the schedule no more than 2 ms after
being told to do so.

Has this device ever worked with any earlier kernels?

A little more debugging information could confirm this.  After the
error occurs, go into /sys/kernel/debug/usb/ehci/:00:1d.7 and post
a copy of the registers file.  If there's anything of interest in the
other files, post them too.

Alan Stern

--
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: uvcvideo causes ehci_hcd to halt

2009-10-21 Thread Ozan Çağlayan
Alan Stern wrote:

(Add uvcvideo maintainer to CC)
 [  420.737748] usb 1-5: link qh1024-0001/f6ffe280 start 1 [1/0 us]
   

 The periodic schedule was enabled here.

   
 [  420.737891] usb 1-5: unlink qh1024-0001/f6ffe280 start 1 [1/0 us]
 

 And it was disabled here.  Do you have any idea why the uvcvideo driver 
 submits an interrupt URB and then cancels it 150 us later?  The same 
 thing shows up in the usbmon traces.

   
 [  420.741605] usb 1-5:1.0: uevent
 [  420.741957] usb 1-5: uevent
 [  420.745592] usb 1-5:1.0: uevent
 [  420.807880] ehci_hcd :00:1d.7: reused qh f6ffe280 schedule
 [  420.807894] usb 1-5: link qh1024-0001/f6ffe280 start 1 [1/0 us]
 

 Now ehci-hcd tried to re-enable the periodic schedule.  Note that 
 this is 70 ms after it was supposed to be disabled.

   
 [  420.808780] ehci_hcd :00:1d.7: force halt; handhake f7c6a024
 4000  - -110
 

 This error message means that the disable request from 70 ms earlier
 hasn't taken effect.  It looks like a nasty hardware bug -- the
 controller is supposed to disable the schedule no more than 2 ms after
 being told to do so.

 Has this device ever worked with any earlier kernels?
   

I only tried 2.6.30.9 and 2.6.31.4, both of them is affected by the same
problem but sometimes it works without a problem so I think that this
can be interpreted as *at-least-working* on those kernels from time to time.

 A little more debugging information could confirm this.  After the
 error occurs, go into /sys/kernel/debug/usb/ehci/:00:1d.7 and post
 a copy of the registers file.  If there's anything of interest in the
 other files, post them too.
   

OK I'll look at them tomorrow, Thanks.

--
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: uvcvideo causes ehci_hcd to halt

2009-10-21 Thread Laurent Pinchart
On Wednesday 21 October 2009 17:07:51 Alan Stern wrote:
 On Wed, 21 Oct 2009, [UTF-8] Ozan Çağlayan wrote:
  Nope it didn't help. Here's the DEBUG enabled dmesg output:
 
 ...
 
  [  420.737748] usb 1-5: link qh1024-0001/f6ffe280 start 1 [1/0 us]
 
 The periodic schedule was enabled here.
 
  [  420.737891] usb 1-5: unlink qh1024-0001/f6ffe280 start 1 [1/0 us]
 
 And it was disabled here.  Do you have any idea why the uvcvideo driver
 submits an interrupt URB and then cancels it 150 us later?  The same
 thing shows up in the usbmon traces.

Probably because hal opens the device to query its capabilities and closes it 
right after. The driver submits the interrupt URB when the first user opens 
the device and cancels it when the last user closes the device.
 
-- 
Regards,

Laurent Pinchart
--
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: uvcvideo causes ehci_hcd to halt

2009-10-21 Thread Ozan Çağlayan
Laurent Pinchart wrote:
 Probably because hal opens the device to query its capabilities and closes it 
 right after. The driver submits the interrupt URB when the first user opens 
 the device and cancels it when the last user closes the device.
  
   

So who's guilty now?

:)
--
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: uvcvideo causes ehci_hcd to halt

2009-10-21 Thread Alan Stern
On Thu, 22 Oct 2009, Laurent Pinchart wrote:

 On Wednesday 21 October 2009 22:09:46 Ozan Çağlayan wrote:
  Laurent Pinchart wrote:
   Probably because hal opens the device to query its capabilities and
   closes it right after. The driver submits the interrupt URB when the
   first user opens the device and cancels it when the last user closes the
   device.
  
  So who's guilty now?
  
  :)
 
 Not me :-)
 
 I don't think there's anything wrong with submitting an interrupt URB and 
 canceling it soon after.

Nothing wrong at all.  Even if hal didn't do this, the same thing might
very well occur the second time somebody ran a program accessing the
video device.

The real problem will be to figure out why the hardware isn't turning
off the periodic schedule.  It might be a timing issue (the schedule
was running too briefly before the driver tried to disable it).  That
could explain why it shows up only occasionally.  But if it isn't, I
have no idea what the underlying cause is or how to fix it.

Alan Stern

--
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: uvcvideo causes ehci_hcd to halt

2009-10-20 Thread Ozan Çağlayan
Ozan Çağlayan wrote On 14-10-2009 11:16:
 Alan Stern wrote On 13-10-2009 17:53:
   
 Can you add a dump_stack() call just after the ehci_err() line in 
 drivers/usb/host/ehci-hcd.c:handshake_on_error_set_halt()?  It should 
 provide some clues.

 At the same time (i.e., during the same test) you should collect a 
 usbmon trace.

 Alan Stern
   
 

 Hi. First the backtrace:

 [  149.510272] uvcvideo: Found UVC 1.00 device BisonCam, NB Pro (5986:0203)
 [  149.515017] input: BisonCam, NB Pro as
 /devices/pci:00/:00:1d.7/usb1/1-5/1-5:1.0/input/input10
 [  149.515588] usbcore: registered new interface driver uvcvideo
 [  149.516247] USB Video Class driver (v0.1.0)
 [  149.658012] Pid: 1137, comm: hald-probe-vide Tainted: G C
 2.6.31.4-128 #2
 [  149.658012] Call Trace:
 [  149.658012]  [c0373f62] handshake_on_error_set_halt+0x36/0x65
 [  149.658012]  [c0374073] enable_periodic+0x32/0x72
 [  149.658012]  [c03741c9] qh_link_periodic+0x116/0x11e
 [  149.658012]  [c0374665] qh_schedule+0x120/0x12c
 [  149.658012]  [c03775d0] intr_submit+0x8c/0x124
 [  149.658012]  [c0377d2a] ehci_urb_enqueue+0x7a/0xa5
 [  149.658012]  [c036965f] usb_hcd_submit_urb+0xbb/0x13c
 [  149.658012]  [c0369b1e] usb_submit_urb+0x1f1/0x20d
 [  149.658012]  [f854aaff] uvc_status_start+0x18/0x1a [uvcvideo]
 [  149.658012]  [f8546e23] uvc_v4l2_open+0x8a/0xcf [uvcvideo]
 [  149.658012]  [f7c3d74a] v4l2_open+0x68/0x7c [videodev]
 [  149.658012]  [c01c648e] chrdev_open+0x125/0x13c
 [  149.658012]  [c01c28a9] __dentry_open+0x119/0x207
 [  149.658012]  [c01c2a31] nameidata_to_filp+0x2c/0x43
 [  149.658012]  [c01c6369] ? chrdev_open+0x0/0x13c
 [  149.658012]  [c01ccc28] do_filp_open+0x3e5/0x741
 [  149.658012]  [c01ccfe9] ? getname+0x20/0xb7
 [  149.658012]  [c01d4be8] ? alloc_fd+0x55/0xbe
 [  149.658012]  [c01c2699] do_sys_open+0x4a/0xe2
 [  149.658012]  [c0435527] ? do_page_fault+0x2d6/0x304
 [  149.658012]  [c01c2773] sys_open+0x1e/0x26
 [  149.658012]  [c0103214] sysenter_do_call+0x12/0x28
 [  149.658012] ehci_hcd :00:1d.7: force halt; handhake f7c66024
 4000  - -110

 And the usbmon trace during modprobe uvcvideo can be found at:

 http://cekirdek.pardus.org.tr/~ozan/ivir/logs/usbmon.trace.bad

 I also manage to not reproduce the problem so it's kinda racy. You can
 find good/bad dmesg/usbmon traces at:

 http://cekirdek.pardus.org.tr/~ozan/ivir/logs
   
ping! in case it's got lost between high traffic :)

Thanks.
--
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: uvcvideo causes ehci_hcd to halt

2009-10-20 Thread Alan Stern
On Tue, 20 Oct 2009, [UTF-8] Ozan Çağlayan wrote:

  Hi. First the backtrace:
 
  [  149.510272] uvcvideo: Found UVC 1.00 device BisonCam, NB Pro (5986:0203)
  [  149.515017] input: BisonCam, NB Pro as
  /devices/pci:00/:00:1d.7/usb1/1-5/1-5:1.0/input/input10
  [  149.515588] usbcore: registered new interface driver uvcvideo
  [  149.516247] USB Video Class driver (v0.1.0)
  [  149.658012] Pid: 1137, comm: hald-probe-vide Tainted: G C
  2.6.31.4-128 #2
  [  149.658012] Call Trace:
  [  149.658012]  [c0373f62] handshake_on_error_set_halt+0x36/0x65
  [  149.658012]  [c0374073] enable_periodic+0x32/0x72
  [  149.658012]  [c03741c9] qh_link_periodic+0x116/0x11e
  [  149.658012]  [c0374665] qh_schedule+0x120/0x12c
  [  149.658012]  [c03775d0] intr_submit+0x8c/0x124
  [  149.658012]  [c0377d2a] ehci_urb_enqueue+0x7a/0xa5
...
  [  149.658012] ehci_hcd :00:1d.7: force halt; handhake f7c66024
  4000  - -110
 
  And the usbmon trace during modprobe uvcvideo can be found at:
 
  http://cekirdek.pardus.org.tr/~ozan/ivir/logs/usbmon.trace.bad
 
  I also manage to not reproduce the problem so it's kinda racy. You can
  find good/bad dmesg/usbmon traces at:
 
  http://cekirdek.pardus.org.tr/~ozan/ivir/logs

 ping! in case it's got lost between high traffic :)

Yes, sorry, my email client tends to hide messages with non-ASCII 
characters in the From: address.  It's unforunate.  :-(

I can't tell exactly what's wrong, but I've got a hunch that the patch 
below might help.  If it doesn't, send another dmesg log but this time 
with CONFIG_USB_DEBUG enabled in the kernel.

Alan Stern


Index: usb-2.6/drivers/usb/host/ehci-q.c
===
--- usb-2.6.orig/drivers/usb/host/ehci-q.c
+++ usb-2.6/drivers/usb/host/ehci-q.c
@@ -818,6 +818,9 @@ qh_make (
dbg (intr period %d uframes, NYET!,
urb-interval);
goto done;
+   } else if (qh-period  ehci-periodic_size) {
+   qh-period = ehci-periodic_size;
+   urb-interval = qh-period  3;
}
} else {
int think_time;
@@ -840,6 +843,10 @@ qh_make (
usb_calc_bus_time (urb-dev-speed,
is_input, 0, max_packet (maxp)));
qh-period = urb-interval;
+   if (qh-period  ehci-periodic_size) {
+   qh-period = ehci-periodic_size;
+   urb-interval = qh-period;
+   }
}
}
 

--
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: uvcvideo causes ehci_hcd to halt

2009-10-14 Thread Ozan Çağlayan
Alan Stern wrote On 13-10-2009 17:53:
 Can you add a dump_stack() call just after the ehci_err() line in 
 drivers/usb/host/ehci-hcd.c:handshake_on_error_set_halt()?  It should 
 provide some clues.

 At the same time (i.e., during the same test) you should collect a 
 usbmon trace.

 Alan Stern
   

Hi. First the backtrace:

[  149.510272] uvcvideo: Found UVC 1.00 device BisonCam, NB Pro (5986:0203)
[  149.515017] input: BisonCam, NB Pro as
/devices/pci:00/:00:1d.7/usb1/1-5/1-5:1.0/input/input10
[  149.515588] usbcore: registered new interface driver uvcvideo
[  149.516247] USB Video Class driver (v0.1.0)
[  149.658012] Pid: 1137, comm: hald-probe-vide Tainted: G C
2.6.31.4-128 #2
[  149.658012] Call Trace:
[  149.658012]  [c0373f62] handshake_on_error_set_halt+0x36/0x65
[  149.658012]  [c0374073] enable_periodic+0x32/0x72
[  149.658012]  [c03741c9] qh_link_periodic+0x116/0x11e
[  149.658012]  [c0374665] qh_schedule+0x120/0x12c
[  149.658012]  [c03775d0] intr_submit+0x8c/0x124
[  149.658012]  [c0377d2a] ehci_urb_enqueue+0x7a/0xa5
[  149.658012]  [c036965f] usb_hcd_submit_urb+0xbb/0x13c
[  149.658012]  [c0369b1e] usb_submit_urb+0x1f1/0x20d
[  149.658012]  [f854aaff] uvc_status_start+0x18/0x1a [uvcvideo]
[  149.658012]  [f8546e23] uvc_v4l2_open+0x8a/0xcf [uvcvideo]
[  149.658012]  [f7c3d74a] v4l2_open+0x68/0x7c [videodev]
[  149.658012]  [c01c648e] chrdev_open+0x125/0x13c
[  149.658012]  [c01c28a9] __dentry_open+0x119/0x207
[  149.658012]  [c01c2a31] nameidata_to_filp+0x2c/0x43
[  149.658012]  [c01c6369] ? chrdev_open+0x0/0x13c
[  149.658012]  [c01ccc28] do_filp_open+0x3e5/0x741
[  149.658012]  [c01ccfe9] ? getname+0x20/0xb7
[  149.658012]  [c01d4be8] ? alloc_fd+0x55/0xbe
[  149.658012]  [c01c2699] do_sys_open+0x4a/0xe2
[  149.658012]  [c0435527] ? do_page_fault+0x2d6/0x304
[  149.658012]  [c01c2773] sys_open+0x1e/0x26
[  149.658012]  [c0103214] sysenter_do_call+0x12/0x28
[  149.658012] ehci_hcd :00:1d.7: force halt; handhake f7c66024
4000  - -110

And the usbmon trace during modprobe uvcvideo can be found at:

http://cekirdek.pardus.org.tr/~ozan/ivir/logs/usbmon.trace.bad

I also manage to not reproduce the problem so it's kinda racy. You can
find good/bad dmesg/usbmon traces at:

http://cekirdek.pardus.org.tr/~ozan/ivir/logs

Thanks,
Ozan Caglayan



--
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


uvcvideo causes ehci_hcd to halt

2009-10-13 Thread Ozan Çağlayan
Hi,

Some recent netbooks (Some MSI winds and LG X110's) equipped with an
integrated webcam have non-working USB ports unless the uvcvideo module
is blacklisted. I've found some bug reports in launchpad:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/435352

I have an LG X110 on which I can reproduce the problem with 2.6.30.8.
Here's the interesting part in dmesg:

Oct 13 08:46:32 x110 kernel: [  261.048312] uvcvideo: Found UVC 1.00
device BisonCam, NB Pro (5986:0203)
Oct 13 08:46:32 x110 kernel: [  261.053592] input: BisonCam, NB Pro as
/devices/pci:00/:00:1d.7/usb1/1-5/1-5:1.0/input/input10
Oct 13 08:46:32 x110 kernel: [  261.053891] usbcore: registered new
interface driver uvcvideo
Oct 13 08:46:32 x110 kernel: [  261.054755] USB Video Class driver (v0.1.0)
Oct 13 08:46:32 x110 kernel: [  261.091014] ehci_hcd :00:1d.7: force
halt; handhake f807c024 4000  - -110
Oct 13 08:46:33 x110 kernel: [  261.742335] hub 1-0:1.0: cannot reset
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742360] hub 1-0:1.0: cannot reset
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742381] hub 1-0:1.0: cannot reset
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742400] hub 1-0:1.0: cannot reset
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742419] hub 1-0:1.0: cannot reset
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742433] hub 1-0:1.0: Cannot enable
port 6.  Maybe the USB cable is bad?
Oct 13 08:46:33 x110 kernel: [  261.742454] hub 1-0:1.0: cannot disable
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742478] hub 1-0:1.0: cannot reset
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742496] hub 1-0:1.0: cannot reset
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742514] hub 1-0:1.0: cannot reset
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742532] hub 1-0:1.0: cannot reset
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742550] hub 1-0:1.0: cannot reset
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742564] hub 1-0:1.0: Cannot enable
port 6.  Maybe the USB cable is bad?
Oct 13 08:46:33 x110 kernel: [  261.742582] hub 1-0:1.0: cannot disable
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742597] hub 1-0:1.0: cannot reset
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742609] hub 1-0:1.0: cannot reset
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742622] hub 1-0:1.0: cannot reset
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742634] hub 1-0:1.0: cannot reset
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742647] hub 1-0:1.0: cannot reset
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742657] hub 1-0:1.0: Cannot enable
port 6.  Maybe the USB cable is bad?
Oct 13 08:46:33 x110 kernel: [  261.742670] hub 1-0:1.0: cannot disable
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742684] hub 1-0:1.0: cannot reset
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742697] hub 1-0:1.0: cannot reset
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742709] hub 1-0:1.0: cannot reset
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742722] hub 1-0:1.0: cannot reset
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742734] hub 1-0:1.0: cannot reset
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742744] hub 1-0:1.0: Cannot enable
port 6.  Maybe the USB cable is bad?
Oct 13 08:46:33 x110 kernel: [  261.742758] hub 1-0:1.0: cannot disable
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742771] hub 1-0:1.0: cannot disable
port 6 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742839] hub 1-0:1.0: hub_port_status
failed (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742902] hub 1-0:1.0: cannot reset
port 2 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742923] hub 1-0:1.0: cannot reset
port 2 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742943] hub 1-0:1.0: cannot reset
port 2 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742963] hub 1-0:1.0: cannot reset
port 2 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742983] hub 1-0:1.0: cannot reset
port 2 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.742997] hub 1-0:1.0: Cannot enable
port 2.  Maybe the USB cable is bad?
Oct 13 08:46:33 x110 kernel: [  261.743018] hub 1-0:1.0: cannot disable
port 2 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.743041] hub 1-0:1.0: cannot reset
port 2 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.743059] hub 1-0:1.0: cannot reset
port 2 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.743076] hub 1-0:1.0: cannot reset
port 2 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.743092] hub 1-0:1.0: cannot reset
port 2 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.743108] hub 1-0:1.0: cannot reset
port 2 (err = -108)
Oct 13 08:46:33 x110 kernel: [  261.743121] hub 1-0:1.0: Cannot enable
port 2.  Maybe the USB cable is bad?
Oct 13 08:46:33 x110 kernel: [  261.743139] hub 1-0:1.0: cannot disable
port 2 (err = -108)
Oct 13 

Re: uvcvideo causes ehci_hcd to halt

2009-10-13 Thread Alan Stern
On Tue, 13 Oct 2009, [UTF-8] Ozan Çağlayan wrote:

 Hi,
 
 Some recent netbooks (Some MSI winds and LG X110's) equipped with an
 integrated webcam have non-working USB ports unless the uvcvideo module
 is blacklisted. I've found some bug reports in launchpad:
 
 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/435352
 
 I have an LG X110 on which I can reproduce the problem with 2.6.30.8.
 Here's the interesting part in dmesg:
 
 Oct 13 08:46:32 x110 kernel: [  261.048312] uvcvideo: Found UVC 1.00
 device BisonCam, NB Pro (5986:0203)
 Oct 13 08:46:32 x110 kernel: [  261.053592] input: BisonCam, NB Pro as
 /devices/pci:00/:00:1d.7/usb1/1-5/1-5:1.0/input/input10
 Oct 13 08:46:32 x110 kernel: [  261.053891] usbcore: registered new
 interface driver uvcvideo
 Oct 13 08:46:32 x110 kernel: [  261.054755] USB Video Class driver (v0.1.0)
 Oct 13 08:46:32 x110 kernel: [  261.091014] ehci_hcd :00:1d.7: force
 halt; handhake f807c024 4000  - -110

Can you add a dump_stack() call just after the ehci_err() line in 
drivers/usb/host/ehci-hcd.c:handshake_on_error_set_halt()?  It should 
provide some clues.

At the same time (i.e., during the same test) you should collect a 
usbmon trace.

Alan Stern

--
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