Hi, On Monday 01 February 2010 07:39:35 Andreas Mohr wrote: > On Sat, Jan 30, 2010 at 09:11:45PM -0500, Alan Stern wrote: > > On Sat, 30 Jan 2010, Maxime Bizon wrote: > > > +static const struct hc_driver ehci_bcm63xx_hc_driver = { > > > + .description = hcd_name, > > > + .product_desc = "BCM63XX integrated EHCI controller", > > > + .hcd_priv_size = sizeof(struct ehci_hcd), > > > + > > > + .irq = ehci_irq, > > > + .flags = HCD_MEMORY | HCD_USB2, > > > + > > > + .reset = ehci_bcm63xx_setup, > > > + .start = ehci_run, > > > + .stop = ehci_stop, > > > + .shutdown = ehci_shutdown, > > > + > > > + .urb_enqueue = ehci_urb_enqueue, > > > + .urb_dequeue = ehci_urb_dequeue, > > > + .endpoint_disable = ehci_endpoint_disable, > > > + > > > + .get_frame_number = ehci_get_frame, > > > + > > > + .hub_status_data = ehci_hub_status_data, > > > + .hub_control = ehci_hub_control, > > > + .bus_suspend = ehci_bus_suspend, > > > + .bus_resume = ehci_bus_resume, > > > + .relinquish_port = ehci_relinquish_port, > > > + .port_handed_over = ehci_port_handed_over, > > > +}; > > > > You'll run into trouble if you don't include the standard > > endpoint_reset method pointer. > > > > Alan Stern > > And one will run into even more trouble (as did I! hung ports galore...) > if one doesn't include the .clear_tt_buffer_complete callback either, > due to using an outdated non-mainline-synchronized host driver > (that was Broadcom as well, ehci-ssb.c). > The best thing to do is a full review of all _diffs_ in _all_ > usb host kernel files in even moderately recent times (say 2.6.23 - 2.6.33) > and add every missing required item to these bcm63xx host files, too. > > Is your code coming from OpenWrt too by chance? :-P It is not, Maxime wrote it from scratch, I integrated it as part of the brcm63xx port. -- Regards, Florian