On Fri, 29 Dec 2006, 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);
>       return IRQ_HANDLED;
>  }

It looks good to me, except for one little thing: The code section just 
above your last hunk (starting with the "PCI errors" comment) overwrites 
the value of "status".  To be safe, it should use a local variable with a 
different name.

Dave Brownell (the maintainer of ehci-hcd) might have some additional
comments.

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