On Wed, 3 Jan 2007, David Brownell wrote:

> On Friday 29 December 2006 11:26 am, Marcelo Tosatti wrote:
> > 
> > 
> > How about this, then:
> > 
> > 
> > diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
> > index 025d333..5c90bde 100644
> > --- a/drivers/usb/host/ehci-hcd.c
> > +++ b/drivers/usb/host/ehci-hcd.c
> > @@ -496,6 +496,9 @@ static int ehci_run (struct usb_hcd *hcd
> >     u32                     temp;
> >     u32                     hcc_params;
> >  
> > +   hcd->uses_new_polling = 1;
> > +   hcd->poll_rh = 0;
> > +
> >     /* EHCI spec section 4.1 */
> >     if ((retval = ehci_reset(ehci)) != 0) {
> >             ehci_mem_cleanup(ehci);
> > @@ -661,6 +664,8 @@ dead:
> >     if (bh)
> >             ehci_work (ehci);
> >     spin_unlock (&ehci->lock);
> > +   if (status & STS_PCD)
> > +           usb_hcd_poll_rh_status(hcd);
> 
> Move that earlier ... into the existing block of code for STS_PCD.

It can't be moved there.  The call has to be made at a time when 
ehci->lock is not held.  That's why I suggested Marcelo move the call down 
to the end of the interrupt routine.

Alan Stern


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to