Mike Nuss wrote:
> Hi,
> 
> We are developing a board using the AMCC PPC440EPx CPU, and we've
> included the NEC PD720101 host controller on the PCI bus. I've tested
> a similar configuration using the Sequoia reference board with a
> Belkin card containing the same NEC chip, and EHCI works fine there.
> However, on our board, I am seeing some issues.
> 
> When I plug in a high-speed hub, the EHCI driver hangs. I added a lot
> of debugging to usbcore to try to find the failure, and it seems that
> the very first URB sent to the device times out, and cannot be
> reclaimed by the HCD.
> 
> usb 2-1: new high speed USB device using ehci_hcd and address 2
> usb 2-1: done setting up TT records
> usb 2-1: get descriptor, try 1/2
> usb 2-1: issue GET_DESCRIPTOR
> start wait for urb (cf91c3c0/c05bde68), timeout 1000
> ehci_urb_enqueue cf91c3c0
> timed out

Are you sure that IRQs are properly routed?


> usb 2-1: khubd timed out on ep0in len=0/64
> killing timed out urb
> usb_kill_urb cf91c3c0
> usb_hcd_unlink urb cf91c3c0
> get urb lock
> get hcd data lock
> do unlink1
> ehci_urb_dequeue cf91c3c0
> unlink1 done
> usb_hcd_unlink_urb is done
> wait for use_count=0
> use_count is now 1
> 
> The final messages are in usb_kill_urb. The use_count on the urb never
> reaches 0, and ehci-hcd can't be unloaded (rmmod hangs). I dumped the
> async schedule using sysfs and saw:
> 
> reclaim =
> qh/ff106080 dev0 hs ep0 40406000 40000000 (00000000  data0 nak0)
>         ff107180+setup len=8 00080e80 urb cf91c3c0
>         ff1070c0 in len=64 80400d80 urb cf91c3c0
>         ff107120 out len=0 80008c80 urb cf91c3c0
> 
> So the URB is still outstanding, if I am reading this correctly. Any
> idea what could be going on here?

I'd speculate IRQ routing problems.


> I'm very familiar with OHCI's queue 
> management now, but not at all with EHCI's, so I'm not sure what
> condition the HCD is waiting for to free that URB. I'm hoping we made
> an obvious mistake on our design but I'm not sure what to look for.
> The only differences specific to the USB hardware that I know of are:
> 1) we are using a 48MHz clock instead of 30MHz, and 2) we do not
> support port power control. We have set the appropriate bits in the
> device to reflect those changes.
> 
> Thanks,
> Mike Nuss
>
-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to