On Fri, 6 Jan 2006, Helmut Toplitzer wrote:

> Did that info show anything wrong?
> 
> ----------  Forwarded Message  ----------
> 
> Subject: Re: [linux-usb-devel] Re: [Linux-usb-users] USB EHCI VIA disconnect 
> problem
> Date: Thursday 05 January 2006 23:54
> From: Helmut Toplitzer <[EMAIL PROTECTED]>
> To: linux-usb-devel@lists.sourceforge.net
> Cc: Alan Stern <[EMAIL PROTECTED]>, Rene Herman 
> <[EMAIL PROTECTED]>
> 
> > This may be related to the PCI configuration values, as initialized by
> > your chipset.  What do you get from "lspci -xxx -s 10.3"?
> 
> 0000:00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82)
> 00: 06 11 04 31 17 00 10 02 82 20 03 0c 10 f8 00 00
> 10: 00 ff ff df 00 00 00 00 00 00 00 00 00 00 00 00
> 20: 00 00 00 00 00 00 00 00 00 00 00 00 62 14 20 71
> 30: 00 00 00 00 80 00 00 00 00 00 00 00 01 04 00 00
> 40: 00 00 03 00 00 00 00 00 80 10 00 09 00 00 00 00
> 50: 00 5a 04 80 00 00 00 00 04 0b 66 66 33 66 00 00
> 60: 20 20 01 00 00 00 00 00 01 00 00 01 00 00 08 a0
> 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 80: 01 00 c2 ff 00 00 00 00 00 00 00 00 00 00 00 00
> 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> f0: 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00

Yes, it is wrong.  The value in the byte at offset 0x40 should be 0x40, 
not 0.

The patch below (for 2.6.15) should fix that.  Try running the lspci
command again after the patch is installed and make sure the byte gets set
correctly.  With luck, this will eliminate your spurious disconnects.  It 
won't affect the bus-mastering issue, however.

Alan Stern



Index: l2615/drivers/usb/host/ehci-pci.c
===================================================================
--- l2615.orig/drivers/usb/host/ehci-pci.c
+++ l2615/drivers/usb/host/ehci-pci.c
@@ -65,6 +65,14 @@ static int ehci_pci_reinit(struct ehci_h
        int                     retval;
        unsigned                count = 256/4;
 
+       /* Set VIA no-shutdown-on-babble config flag */
+       if (pdev->vendor == PCI_VENDOR_ID_VIA) {
+               u8              val;
+
+               if (pci_read_config_byte(pdev, 0x40, &val) == 0)
+                       pci_write_config_byte(pdev, 0x40, val | 0x40);
+       }
+
        /* optional debug port, normally in the first BAR */
        temp = pci_find_capability(pdev, 0x0a);
        if (temp) {



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
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