Re: Callback not called on bulk out transfer with usbfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 19 Jun 2012, Austin Schuh wrote:

> Sorry for the delay.  I added a print in like you requested, and
> here's a lot more context this time.  FYI, there might have been a
> couple of lines of IAA watchdog that I missed here.
> 
> $ dmesg | grep -C 10 "IAA watchdog"
> [  336.474635] ehci_hcd 0000:00:1a.7: IRQ: status c009 cmd 10031
> [  336.488135] ehci_hcd 0000:00:1a.7: start_unlink_async: IAAD
> [  336.488243] ehci_hcd 0000:00:1a.7: IRQ: status c028 cmd 10031
> [  336.593234] ehci_hcd 0000:00:1a.7: IRQ: status c009 cmd 10031
> [  336.593253] ehci_hcd 0000:00:1a.7: start_unlink_async: IAAD
> [  336.593326] ehci_hcd 0000:00:1a.7: IRQ: status c028 cmd 10031
> [  336.596105] ehci_hcd 0000:00:1a.7: IRQ: status c009 cmd 10031
> [  336.596365] ehci_hcd 0000:00:1a.7: IRQ: status c009 cmd 10021
> [  336.597854] ehci_hcd 0000:00:1a.7: IRQ: status 8009 cmd 10021
> [  336.597873] ehci_hcd 0000:00:1a.7: start_unlink_async: IAAD
> [  336.597925] ehci_hcd 0000:00:1a.7: IAA watchdog: status 8028 cmd 10021

That's good enough.  Unfortunately, it doesn't help solve our problem!

The IAA interrupts aren't getting lost.  Instead we're seeing early
timer expirations, probably caused by imprecise timer values.  What do 
you have CONFIG_HZ set to?

I have been working on using high-resolution timers in ehci-hcd, which
ought to fix this problem.  But for now, this doesn't explain why your
bulk-out completion interrupts don't occur on time.

Tell you what...  Get rid of the IAAD: message, but keep the IRQ:  
message in ehci_irq().  Run your usbfs program, and let's see what the
log shows for the time period when your completion is lost.

To help synchronize your usbfs I/O with the EHCI debugging lines, leave
usbfs snooping on while running the test.

Alan Stern

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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux