RE: A question about ohci_irq()

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

 



Alan

	Based on your patch, I add two lines code to clear the
OHCI_INTR_SO bit of the intrstatus register if the OHCI_INTR_SO is set
by HC.

/drivers/usb/host/ohci-hcd.c

	ints = ohci_readl(ohci, &regs->intrstatus);
++	if((ints & OHCI_INTR_SO) == OHCI_INTR_SO){
++		ohci_writel(ohci, OHCI_INTR_SO, &regs->intrstatus);
	
	

Thanks,
Frank

-----Original Message-----
From: Alan Stern [mailto:stern@xxxxxxxxxxxxxxxxxxx] 
Sent: Wednesday, December 30, 2009 11:06 PM
To: Huang, FrankR
Cc: USB list
Subject: RE: A question about ohci_irq()

On Wed, 30 Dec 2009, Huang, FrankR wrote:

> Alan,
> 
> 	Although this method can solve the usb mouse hang, but I found

Which method are you talking about?  Your patch or my patch?

> that from the debug log, the SO bit(SchedulingOverrun) in
> HcInterruptStatus register is always set after a period of time. Is it
> matter? Or any modification to avoid this?

SO should not be set.

> 	I noticed that in kernel code, there is no code to handle the
> SchedulingOverrun interrupt.

That's because nothing can be done.

>  In the OHCI spec, it suggests me to lower
> the bandwidth. Do I need add some code to this?

No.  The driver already works correctly.  The problem is that you have
bad hardware.  You need to figure out what's wrong with the hardware 
and how to work around the bugs.

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